Motion-based behavior identification for controlling therapy

ABSTRACT

Devices, systems, and techniques for analyzing video information to objectively identify patient behavior are disclosed. A system may analyze obtained video information of patient motion during a period of time to track one or more anatomical regions through a plurality of frames of the video information and calculate one or more movement parameters of the one or more anatomical regions. The system may also compare the one or more movement parameters to respective criteria for each of a plurality of predetermined patient behaviors and identify the patient behaviors that occurred during the period of time. In some examples, a device may control therapy delivery according to the identified patient behaviors and/or sensed parameters previously calibrated based on the identified patient behaviors.

This application claims the benefit of U.S. Provisional PatentApplication No. 61/835,405, to Wu, filed Jun. 14, 2013, and entitled“MOTION ANALYSIS FOR BEHAVIOR IDENTIFICATION,” which is incorporatedherein by reference in its entirety.

TECHNICAL FIELD

The disclosure relates to controlling therapy and, more particularly,controlling therapy using motion analysis of a patient.

BACKGROUND

Various diseases and conditions, such as movement disorders, can causeindividuals to experience certain behaviors of movement. For example, apatient diagnosed with Parkinson's Disease may exhibit movementbehaviors that may include one or more of tremor, rigidity,bradykinesia, and dyskinesia. Evaluation and identification of thesepatient behaviors is typically performed by a clinician viewing themovements of the patient. An example evaluation technique of Parkinson'sDisease involves the use the Unified Parkinson's Disease Rating Scale,motor scale (mUPDRS). During this test, the clinician asks the patientto perform a routine of passive and active motor tasks, and theclinician provides scores to characterize the movements of the patientduring these tasks.

A clinician may also treat a patient with a movement disorder using oneor more therapies. Oral medication may be prescribed for some patients.Patients may also or alternatively be treated using drug deliverytherapy and/or electrical stimulation therapy. Electrical stimulationtherapy may include deep brain stimulation (DBS), although other typesof electrical stimulation therapy may be employed for some patients.

SUMMARY

In general, the disclosure is directed to devices, systems, andtechniques for analyzing video information to objectively identifypatient behavior. A camera may generate video information that capturespatient motion, or movement. A system may obtain and analyze the videoinformation captured during a period of time to track one or moreanatomical regions through a plurality of frames of the videoinformation. The system may then calculate one or more movementparameters that characterize the motion of the one or more anatomicalregions. The system may also compare the one or more movement parametersto respective criteria (e.g., one or more thresholds and/or ranges) foreach of a plurality of predetermined patient behaviors and identify thepatient behaviors that occurred during the period of time.

In addition, the system (and/or another device) may control the deliveryof therapy according to the identified patient behaviors. In oneexample, the system may control therapy in response to identifying thepatient behavior from the video information. In another example, thesystem may control therapy in response to a sensed value of a patientparameter that has been previously associated with (or calibrated by)the patient behaviors identified from the video information. In eithercase, controlling therapy may include at least one of selecting an oralmedication dose, selecting a dose of medication from drug deliverytherapy, and selecting a set of therapy parameters that defineselectrical stimulation therapy.

In one example, the disclosure is directed to a method that includesobtaining video information of patient motion captured over a period oftime, wherein the video information comprises a plurality of frames,receiving, with respect to one frame of the plurality of frames, aselection of a sample area representative of an anatomical region,analyzing, by one or more processors, each of the other plurality offrames for respective areas corresponding to the sample area,calculating, by the one or more processors, one or more movementparameters of the anatomical region during the period of time from atleast one difference between the sample area and one or more respectiveareas of at least a subset of the plurality of frames, comparing, by theone or more processors, the one or more movement parameters of theperiod of time to respective criteria for each of a plurality ofpredetermined patient behaviors, and identifying, based on thecomparison and by the one or more processors, each one of thepredetermined patient behaviors that occurred during the period of time.

In another example, the disclosure is directed to a system that includesone or more processors configured to obtain video information of patientmotion captured over a period of time, wherein the video informationcomprises a plurality of frames, receive, with respect to one frame ofthe plurality of frames, a selection of a sample area representative ofan anatomical region, analyze each of the other plurality of frames forrespective areas corresponding to the sample area, calculate one or moremovement parameters of the anatomical region during the period of timefrom at least one difference between the sample area and one or morerespective areas of at least a subset of the plurality of frames,compare the one or more movement parameters of the period of time torespective criteria for each of a plurality of predetermined patientbehaviors, and identify, based on the comparison, each one of thepredetermined patient behaviors that occurred during the period of time.

In another example, the disclosure is directed to a computer-readablestorage medium that includes instructions that cause one or moreprocessors to obtain video information of patient motion captured over aperiod of time, wherein the video information comprises a plurality offrames, receive, with respect to one frame of the plurality of frames, aselection of a sample area representative of an anatomical region,analyze each of the other plurality of frames for respective areascorresponding to the sample area, calculate one or more movementparameters of the anatomical region during the period of time from atleast one difference between the sample area and one or more respectiveareas of at least a subset of the plurality of frames, compare the oneor more movement parameters of the period of time to respective criteriafor each of a plurality of predetermined patient behaviors, andidentify, based on the comparison, each one of the predetermined patientbehaviors that occurred during the period of time.

In another example, the disclosure is directed to a method that includesreceiving, from a computing device, an indication of a patient behaviorfor a period of time, wherein the patient behavior is determined by thecomputing device from video information captured during the period oftime, determining, based on the indication of the patient behavior andby one or more processors, a therapy to be delivered to the patient, andoutputting the determination for at least one of delivery of the therapyto the patient and display to the user.

In another example, the disclosure is directed to a system that includesone or more processors configured to, receive, from a computing device,an indication of a patient behavior for a period of time, wherein thepatient behavior is determined by the computing device from videoinformation captured during the period of time, determine, based on theindication of the patient behavior, a therapy to be delivered to thepatient, and output the determination for at least one of delivery ofthe therapy to the patient and display to the user.

In another example, the disclosure is directed to a computer-readablestorage medium that includes instructions that cause one or moreprocessors to receive, from a computing device, an indication of apatient behavior for a period of time, wherein the patient behavior isdetermined by the computing device from video information capturedduring the period of time, determine, based on the indication of thepatient behavior, a therapy to be delivered to the patient, and outputthe determination for at least one of delivery of the therapy to thepatient and display to the user.

The details of one or more example are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages will be apparent from the description and drawings, and fromthe claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram illustrating an example system thatincludes a camera for capturing video information of patient movementsduring a period of time.

FIG. 2 is a conceptual diagram illustrating an example system thatincludes a display for presenting commands to a patient and a camera forcapturing video information of patient movements that occur in responseto the commands.

FIG. 3 is a conceptual diagram illustrating an example system thatincludes a networked server for identifying patient behavior based onthe video information captured by the camera of FIG. 1 or FIG. 2.

FIG. 4 is a block diagram of the example computing device of FIGS. 1 and2.

FIG. 5 is a block diagram of the example networked server of FIG. 3.

FIG. 6 is a flow diagram that illustrates an example process foridentifying patient behaviors based on analyzed video information of thepatient.

FIG. 7 is a flow diagram that illustrates an example process forallocating sample areas representing a respective anatomical regioncaptured in the video information.

FIG. 8 is a flow diagram that illustrates an example process foridentifying areas of video frames corresponding to the sample area of adifferent frame.

FIG. 9 is a flow diagram that illustrates an example process forfiltering raw motion pixels from noise in the video information.

FIG. 10 is a flow diagram that illustrates an example process forgenerating a motion track map with pixels indicative of patient motion.

FIG. 11 is a flow diagram that illustrates an example process forcalculating movement parameters for each frame of the motion track mapof FIG. 10.

FIG. 12 is a flow diagram that illustrates an example process forgenerating motion groups of pixels and calculating movement parametersfor each of the motion groups.

FIG. 13 is a flow diagram that illustrates an example process forcalculating movement parameters representing frequency of patientmotion.

FIG. 14 is a flow diagram that illustrates an example process foridentifying dyskinesia in the head of a patient.

FIG. 15 is a flow diagram that illustrates an example process foridentifying bradykinesia in a patient.

FIG. 16 is a flow diagram that illustrates an example process foridentifying dyskinesia in a body of a patient.

FIG. 17 is a flow diagram that illustrates an example process foridentifying tremor in a patient.

FIG. 18 is a flow diagram that illustrates an example process forsuggesting one or more frames of the video information in which todefine a sample area of an anatomical region of the patient.

FIG. 19 is a conceptual diagram illustrating an example system thatincludes an implantable medical device (IMD) configured to deliver deepbrain stimulation to a patient.

FIG. 20 is a conceptual diagram illustrating an example system thatincludes an IMD configured to deliver spinal cord stimulation to apatient.

FIG. 21 is a block diagram of the example IMD of FIG. 19 for deliveringdeep brain stimulation therapy.

FIG. 22 is a block diagram of the example IMD of FIG. 20 for deliveringspinal cord stimulation therapy.

FIG. 23 is a block diagram of the external programmer of FIGS. 1, 19,and 20.

FIG. 24 is a block diagram illustrating an example system that includesa networked server coupled to an IMD and one or more computing devicesvia a network.

FIG. 25 is a flow diagram illustrating an example process forcontrolling therapy according to patient behavior identified from videoinformation.

FIG. 26 is a conceptual diagram illustrating an example system thatincludes sensors configured to sense one or more patient parametersindicative of a patient behavior and monitored to control therapy.

FIG. 27 is a block diagram of an example sensor that senses a patientparameter indicative of patient behavior.

FIG. 28 is a graph illustrating a correlation of determined patientmovement from video information to patient parameters sensed during thesame period of time during which the video information was captured.

FIG. 29 is a flow diagram illustrating an example process forassociating sensed patient parameter values with patient behavioridentified from video information.

FIG. 30 is a flow diagram illustrating an example process for requestingnew video information and updating the associations between sensedpatient parameter values and patient behaviors identified from the newvideo information.

DETAILED DESCRIPTION

This disclosure is generally directed to devices, systems, andtechniques for analyzing video information to objectively identifypatient behavior such as patient movement. A clinician (e.g., doctor,nurse, or other healthcare professional) diagnose or evaluate a movementdisorder of a patient may visually monitoring the movements of thepatient. A movement disorder may be caused by neurological disordersand/or other physiological disorders. Various scales and tests have beendeveloped to perform such evaluations. For example, the UnifiedParkinson's Disease Rating Scale, motor scale (mUPDRS) is typically usedto evaluate motor performance of patients suspected or diagnosed withParkinson's disease. During the test, the clinician asks the patient toperform a routine of passive and active motor tasks while the clinicianprovides scores intended to characterize the movement and/orcapabilities of the patient. However, tests such as the mUPDRS test maybe inaccurate, inconsistent, and/or unreliable because they rely onclinician training and experience, are only available during limitedvisits to a clinic, and are subject to patient and clinician fatigue.

As disclosed herein, algorithms are described to objectively identifyand evaluate patient movement as one or more patient behaviors (e.g.,movement disorders associated with abnormal behavior). A system mayincorporate one or more devices to automatically identify patientbehavior from patient motion. For example, a camera may generate videoinformation (e.g., a plurality of image frames) that captures patientmotion or movement during a period of time. This patient movement may bepassive (i.e., uninstructed by a clinician or system). Alternatively,the patient movement may be active (i.e., in response to commands givento the patient).

A system (e.g., a networked server or external programmer) may obtainand analyze the video information captured during the period of time.The system may determine one or more sample areas of respectiveanatomical regions in one or more of the frames and analyze the otherframes to determine areas that correspond to the sample areas. Thesystem may also calculate one or more movement parameters thatcharacterize the movement of the areas within the frames of the periodof time. The system may then compare the calculated values of therespective movement parameters to criteria of each of a plurality ofpatient behaviors (e.g., abnormal behaviors). Based on this comparison,the system may identify which ones of the patient behaviors wereexhibited by the patient during the period of time in which the videoinformation was captured. In this manner, the system can be configuredto identify a plurality of different patient behaviors from the samevideo information and over the same period of time. Therefore, videoinformation captured during passive patient movement, instead ofinstructed active patient movement, can be analyzed to identify patientbehavior. However, behavior identification may still be used based onvideo information captured during instructed active patient movement.

The identified patient behavior may be used to diagnose movementdisorders, evaluate and assess movement disorder severity, and/ormonitor the progression of any disease underlying the movement disorder.In addition, a system or device may control therapy (e.g., electricalstimulation therapy, drug delivery therapy, and/or oral medicationtherapy) in response to identifying a patient behavior from the videoinformation. In this manner, the identified patient behavior may be usedas feedback for controlling the therapy. Video information may becaptured continuously, periodically, and/or on-demand and analyzed toidentify the patient behavior for feedback.

In other examples, the identified patient behavior may be correlatedwith other patient parameters that are used as feedback to controltherapy delivery. For example, the system may obtain values for one ormore patient parameters sensed during the same time as video informationwas captured of the patient. After identifying the patient behaviorsoccurring during the period of time, the system may correlate, orassociate, the values of the sensed patient parameters with the patientbehaviors that occurred at the same time. In this manner, the system maygenerate respective thresholds, ranges, formulas, look up tables, forone or more patient parameters that indicate when the patient isexperiencing each of a plurality of patient behaviors. Although thevideo information may be used to calibrate one or more patientparameters to the patient behaviors, a device may control therapy inresponse to sensing one or more sensed values of the patient parameters.Patient parameters may include, local field potentials (LFPs),electrograms (EEGs), electroencephalograms (EEG), patient accelerations,relative accelerations, patient speech, physiological chemistry, or anyother parameter of the patient that may be indicative of a behaviorassociated with a movement disorder.

FIG. 1 is a conceptual diagram illustrating example system 10 thatincludes camera 26 for capturing video information of patient movementsduring a period of time. As shown in FIG. 1, system 10 may includecamera 26, computing device 30, and external programmer 24. FIG. 1 alsoillustrates patient 12 lying in bed 20 and clinician 22 sitting next topatient 12 and holding external programmer 24. An implantable medicaldevice (not shown) may be implanted within patient 12 and configured todeliver therapy to patient 12. Programmer 24 may communicate with theimplantable medical device (IMD) to adjust therapy, obtain sensed valuesof one or more patient parameters, and/or communicate any other commandsbetween the two devices.

System 10 may be configured to capture video information of the motionof patient 12. As patient 12 lies in bed 20, patient 12 may move head14, torso 16, arm 18A or arm 18B (example anatomical regions). In somecases, patient 12 may also move one or both legs, fingers, hands, feet,or any other anatomical regions. These movements may be voluntary and/orinvoluntary as a result of movement disorder experienced by patient 12.When the movements of patient 12 are not performed in response to acommand to perform a certain movement or action, the movement of patient12 may be described as passive movement. If patient 12 has a movementdisorder, various patient behaviors (e.g., the result of one or moreanatomical region movements) may manifest themselves during a period oftime. Camera 26 may be positioned to capture the movement of patient 12over a period of time using a plurality of video frames. These videoframes may be at least part of the video information captured of patient12.

Camera 26 may include one or more types of sensors for detecting patientmotion. In one example, camera 26 may have one or more sensors (e.g.,charge-coupled device (CCD) or complementary metal-oxide-semiconductor(CMOS)) configured to convert visible light to electrical signalsrepresenting the visible light. In other examples, camera 26 may includeother sensors that are configured to capture infra-red electromagneticradiation and/or any other medium representative of the movement ofpatient 12. In other examples, two or more cameras may be placed atdifferent locations with respect to patient 12 in order to obtaindifferent perspectives of the patient movement that may be undetectableat some angles or vantage points. Although camera 26 may generally bepositioned to capture the entire body of patient 12, camera 26 may befocused to one or more specific anatomical regions in other examples.

Camera 26 may capture video information (e.g., video frames and, in someexamples, information regarding the frames such as time and location theframes were captured) of patient movement over various periods of time.Camera 26 may capture video information for minutes, hours, days, oreven months. Camera 26 may capture video information continuously (e.g.,at a specified frame rate) over the period of time. In other examples,camera 26 may be configured to capture video information periodicallysuch as at scheduled times and/or at various frame rates. For example,camera 26 may be configured to capture video information of patient 12during the time of day at which patient 12 is likely to be active andmoving (e.g., during the day time, during meals, or during scheduledactivities). In this manner, camera 12 may be configured to capturevideo information in response to user input requesting videoinformation. In other examples, camera 26 may be configured to capturevideo information in response to a request to capture video information.The request may be generated in response to receiving a user request, inresponse to a sensed parameter (e.g., an accelerometer indicatingpatient 12 is moving), or in response to a request for additional videoinformation due to potential problems with identified patient behaviors.

Camera 26 may transmit the captured (or generated) video information tocomputing device 30 via wired or wireless communication protocols.Computing device 30 may be configured to temporarily or permanentlystore the video information from camera 26. In some examples, computingdevice 30 may also be configured to control the operation of camera 26based on stored instructions and/or commands received from anotherdevice over a network. In this manner, computing device 30 may be inwired or wireless communication with additional computing devices (e.g.,a networked server, programmer 24, and/or other computing device) via anetwork, such as network 42 of FIG. 3. In other examples, programmer 24may be configured to at least partially control the operation of camera26.

Although camera 26 may be a separate device, camera 26 may be integratedinto a computing device. For example, camera 26 may be integrated intothe housing of computing device 30 and/or a display coupled to computingdevice 30. In other examples, camera 26 may be housed by a mobilecomputing device or notebook computer. In this manner, video informationmay be captured by devices other than a standalone camera positionedwithin a single room. Instead, a mobile computing device (e.g., asmartphone, a tablet computer, or programmer 24) may include camera 26configured to capture the video information used to objectively identifypatient behavior. Clinician 22 or even patient 12 may then capture videoinformation of patient movement at any location.

In some examples, computing device 30 may obtain the video informationfrom camera 26, analyze the video information, and identify patientbehaviors from the video information. Computing device 30 may also beassociated with a display configured to present the identified patientbehavior to clinician 22. Computing device 30 may instead transmit theidentified patient behavior to external programmer 24 for presentationto clinician 22. In other examples, computing device 30 may beconfigured to transmit the video information to a networked server via anetwork. Computing device 30 may continuously or periodically transferthe video information captured by camera 26 to a device configured toanalyze the video information and identify any patient behavior thatoccurred in the video information.

As described herein, one or more processors of a computing device may beconfigured to identify patient behaviors from video information capturedby camera 26. For example, the computing device may be configured toobtaining video information of patient motion captured over a period oftime, such that the video information comprises a plurality of frames.The computing device may then receive, with respect to one or moreframes of the plurality of frames, a selection of a sample arearepresentative of an anatomical region (e.g., head 14, torso 16, arm18A, or arm 18B). This sample area may be defined by user input and/orthe one or more processors. The computing device may also analyze eachof the other plurality of frames for respective areas corresponding tothe sample area. The computing device can then calculate one or moremovement parameters (e.g., velocity, angle of movement, or frequency ofmovement) of the anatomical region during the period of time from atleast one difference between the sample area and one or more respectiveareas of at least a subset of the plurality of frames. The computingdevice may also be configured to compare the one or more movementparameters of the period of time to respective criteria for each of aplurality of predetermined patient behaviors (e.g., types of movementsor movement disorders) and identify, based on the comparison, each oneof the predetermined patient behaviors that occurred during the periodof time.

The identified patient behaviors may be abnormal behaviors that areincluded in or representative of respective movement disorders. Theidentified patient behaviors may indicate a type of movement (e.g.,dyskinesia, bradykinesia, or tremor) and the severity of each type ofmovement. The identified patient behaviors may be transmitted toexternal programmer 24, or another clinician device, for viewing byclinician 22. Clinician 22 may diagnose patient 12 and/or monitor theprogression of a disease using the identified patient behaviors. Inaddition, clinician 22 may establish a treatment regimen in response toreceiving the identified patient behavior. In the situation in which anIMD (e.g., an electrical stimulator and/or drug pump) is within patient12, clinician 22 may interact with external programmer 24 to command theIMD to control therapy based on the identified patient behavior. In someexamples, a computing device such as a networked server or externalprogrammer 24 may select one or more therapies (e.g., select therapyparameters) in response to receiving the identified patient behaviors.In this manner, the identified patient behaviors may be used toinfluence some therapy for patient 12.

Although video information is described as being captured as patient 12lies in bed 20, camera 26 may capture video information of any activityof patient 12. Camera 26 may capture video information of patient 12 aspatient 12 walks across the room, watches television, sits in a chair,maintains a selected posture, talks, eats a meal, interacts withclinician 22 or any other healthcare professional, or performs any othernormal routine tasks or activities.

If the one or more anatomical regions of patient 12 are undetectable inthe captured video information, the system may determine an uncertaintyas to the location of the anatomical region and exclude such frames fromthe motion analysis. In this manner, video information captured over anextended period of time and patient activities may be analyzed toidentify patient movement without unwanted patient positions affectingthe accuracy of the identified patient movement.

FIG. 2 is a conceptual diagram illustrating example system 10 thatincludes display 32 for presenting commands to patient 12 and camera 26for capturing video information of patient movements that occur inresponse to the commands. As shown in FIG. 2, system 10 includes camera26, computing device 30, and display 32. System 10 may be configured tocapture video information while display 32 presents physical commandsfor patient 12 to complete. In some examples, patient behavior may beidentified based on the ability or inability of patient 12 to performcertain actions. System 10 may be configured to instruct patient 12 toperform these actions in an automated manner that does not require aclinician to interact with patient 12. In some examples, system 10 maypresent the instructions in a game-type format that challenges patient12 to complete a certain task to receive a certain score. In thismanner, patient movement may be assessed outside of the clinic setting,such as at the home of patient 12. In addition, the movement assessmentmay be performed more frequently to closely monitor the progression ofany movement disorder and corresponding neurological disease orphysiological issue.

Computing device 30 may be configured to conduct a movement assessmentof patient 12 during which video information is captured of patientmovement. The assessment may be initiated by patient input, a scheduledtime to begin the assessment, or remote initiation via a network.Computing device 30 may generate and output various physical commands tobe displayed to patient 12. These physical commands may be selectedaccording to assessment instructions stored within a memory of computingdevice 30 or obtained from another computing device (e.g., a networkedserver or remote computing device) via a network. Display 32 may beconfigured to display or present the physical commands to patient 12.The physical commands may be in the form of text, audio, and/or imagesof a person performing the requested actions.

Camera 26 may be positioned in such a manner to capture the movements ofone or more anatomical regions of patient 12. Although camera 26 may beconfigured to capture the entire body of patient 12 within the field ofview of camera 26, camera 26 may be configured to capture videoinformation for a portion of patient 12. Computing device 30 may beconfigured to control camera 26 to capture video information during theperiod of time in which patient 12 is performing the movementsinstructed by the physical commands. For example, the video informationmay include patient 12 moving head 14, torso 16, arm 18A, legs 28A and28B, or any other movements. The movements may include intentionalmovements desired by patient 12 and unintentional movements resultingfrom the movement disorder of patient 12. The physical commands mayinclude commands to move individual anatomical regions such as an arm,perform various coordinated movements between anatomical regions, orfull body motions such as walking, sitting, or standing. For instance,system 10 (or a clinician) may instruct patient 12 to perform tasks suchas performing finger taps between the thumb and index finger of one ormore hands in rapid succession, opening and closing one or more hands inrapid succession, performing rapid alternating movements of one or morehands, and/or any additional movements. As another example, system 10 ora clinician may instruct patient 12 to attempt to rise from a chairwhile maintaining the patient's arms folded across the chest. Leg andfoot agility of patient 12 may be tested via heel taps instructed to beperformed in rapid succession while the patient's leg is raised bypredetermined magnitude or angle, such as three inches, during each tap.In other examples, a clinician may devise customized tests wherebypatient 12 is instructed to go through specific motions. The clinicianmay, in some examples, apply resistance while patient 12 performs somemotions to further test the patient's capabilities. System 10 mayimplement and conduct each of these tests by presenting instructions topatient 12 and/or a clinician and capturing video information of thepatient's motion during each test.

Since camera 26 may be configured to capture movements of the entirebody of patient 12, the captured video information may include motionsfrom all anatomical regions of patient 12. Therefore, the single videoinformation may be analyzed for the presence of multiple patientbehaviors (e.g., abnormal behaviors) as described herein. The assessmentdescribed in FIG. 2 may be performed instead of or in addition to thepassive movement assessment described with respect to FIG. 1. Physicalcommands given to patient 12 may be time stamped, or otherwisecorrelated to the captured video frames, for comparison to the videoinformation to assess the patient movement.

In other examples, one or more sensors may sense a respective patientparameter during the patient movement of FIG. 1 or 2. These patientparameters may obtain non-video information indicative of some aspect ofpatient movement. The patient parameters may be calibrated with theidentified patient behavior from the captured video information toprovide feedback indicative of patient behavior. This feedback may beused to supplement behavior monitoring of patient 12 and/or to controltherapy delivered to patient 12. The sensors may be attached to patient12, implanted within patient 12, or associated with another object incontact with patient 12. Example sensors may include electrodes andelectrical signal sensing modules, accelerometers, microphones, chemicalsensors, or any other type of sensor configured to obtain informationregarding the movement of patient 12.

FIG. 3 is a conceptual diagram illustrating example system 40 thatincludes networked server 44 configured to identify patient behaviorbased on video information 50 captured by camera 26 of FIG. 1 or FIG. 2.As shown in FIG. 3, system 40 includes computing device 30, camera 26,network 42, networked server 44 (e.g., a computing device), repository46, and computing device 54. Computing device 30, in some examples, isor is a part of a portable computing device (e.g., a mobile phone, asmartphone, a netbook computer, a notebook computer, a tablet computingdevice, or a smart watch). In other examples, computing device 30 may beat least a part of a workstation or other non-portable computing device.Computing device 30 may also include a display device (e.g., display 32of FIG. 2) and be configured to control the display device. The displaydevice may be housed by computing device 30 or external from computingdevice 30. Although camera 26 may be a separate device in communicationwith computing device 30, camera 26 may be coupled to or at leastpartially within a housing of computing device 30. Computing device 30may receive video information 50 from camera 26 and/or generate at leasta portion of video information 50 such as time stamps, any physicalcommands given to user 12, or any other metadata associated with thevideo frames of video information 50.

Computing device 30 may be configured to connect to network 42 (e.g., awired or wireless network). In some examples, computing device 30 mayalso be configured to communicate with networked server 44 via network42 to transmit captured video information 50. Although network 42 may bea single network, network 42 may be representative of two or morenetworks configured to provide network access to server 44 and/orrepository 46. Computing device 30 may be configured to transmitcaptured video information 50 after the video information is completedgenerated or stream video information 50 to networked server 44 as thevideo information is captured. In some examples, computing device 30 mayreceive instructions from networked server 44 to control camera 26 tobegin or terminate the capturing of video information. In otherexamples, networked server 44 may provide finer control of videoinformation capture, such as video frame rates, video capture settings,compression of video information, or any other aspect related tocapturing the video information of patient movement.

Computing device 30 may include various components that providerespective functionality. For example, computing device 30 may control adisplay device such as display 32 of FIG. 2. Computing device 30 mayinclude one or more input devices and/or output devices that facilitateuser (e.g., a clinician or a patient) communication with computingdevice 30. In one example, a user interface may include the displaydevice and separate input devices or a display device may be touchscreen interface (e.g., a presence-sensitive display that includes apresence-sensitive input device). In other examples, the display devicemay include a display and one or more buttons, pads, joysticks, mice,tactile devices, or any other device capable of turning user actionsinto electrical signals that control computing device 30. In anyexample, the user clinician may interact with the display device or anyother input devices to provide input prior to or during the processesdescribed herein.

Computing device 30 may be configured to transmit video information 50to networked server 44 via network 42. Networked server 44 may beconfigured to store video information 50 in repository 46 until thevideo information is to be analyzed and/or for long-term storage. Bothcomputing device 30 and networked server 44 may connect to network 42.Network 42 may be embodied as one or more of the Internet, a wirelessnetwork, a wired network, a cellular network, or a fiber optic network.In other words, network 42 may be any data communication protocol orprotocols that facilitate data transfer between two or more devices.Networked server 44 may also connect to repository 46 to store and/orretrieve video information 50 received from computing device 30, patientinformation, patient parameter values, behavior identification rules, orany other data or instructions needed to identify the patient behaviorexhibited during capture of video information 50.

Networked server 44 and repository 46 may each include one or moreservers or databases, respectively. In this manner, networked server 44and repository 46 may be embodied as any hardware necessary to storevideo information 50, generated behavior information 52, or any otherinformation related to the diagnosis, monitoring, and/or treatment ofpatient 12. Networked server 44 may include one or more servers, desktopcomputers, mainframes, minicomputers, or other computing devices capableof executing computer instructions and storing data. In some examples,functions attributable to networked server 44 herein may be attributedto respective different servers for respective functions. Repository 46may include one or more memories, repositories, hard disks, or any otherdata storage device. In some examples, repository 46 may be includedwithin networked server 44.

Repository 46 may be included in, or described as, cloud storage. Inother words, EGM signal data, EGM summaries, patient reports,instructions, or any other such information may be stored in one or morelocations in the cloud (e.g., one or more repositories 46). Networkedserver 44 may access the cloud and retrieve the appropriate data asnecessary. In some examples, repository 46 may include RelationalDatabase Management System (RDBMS) software. In one example, repository46 may be a relational database and accessed using a Structured QueryLanguage (SQL) interface that is well known in the art. Repository 46may alternatively be stored on a separate networked computing device andaccessed by networked server 44 through a network interface or systembus. Repository 46 may thus be an RDBMS, an Object Database ManagementSystem (ODBMS), Online Analytical Processing (OLAP) database, or anyother suitable data management system.

System 40 may be configured to identify patient behaviors from videoinformation 50. For example, networked server 44 may employ varioustechniques and processes described herein with respect to FIGS. 6-18 toanalyze video information 50 and identify one or more patient behaviorsthat occurred within the video information. For example, one or moreprocessors of networked server 44 may be configured to calculatemovement parameters of one or more anatomical regions within the framesof video information 50, compare values of the movement parameters torespective criteria for predetermined patient behaviors, and identifywhich patient behaviors occurred within video information 50. Networkedserver 44 may also identify the severity or progression of each of thepatient behaviors. Networked server 44 may compile behavior information52 that may include the identified patient behaviors, times at whicheach behavior occurred, a severity of each behavior, confidence levelsthat such behaviors occurred, or any other information related to theanalysis of video information 50 captured by camera 26.

Networked server 44 may transmit the generated behavior information 52to computing device 54. Computing device 54 may be a computing deviceconfigured to deliver information to clinician 22 or patient 12 via adisplay device or any other such interface. Computing device 54 may be aworkstation, mobile computing device, external programmer 24, or anyother such device. Computing device 54 may receive behavior information52 continuously, periodically, in response to generation of behaviorinformation 52 by networked server 44, or in response to user requestvia computing device 54. Computing device 54 may allow clinician 22and/or patient 12 to view the movement disorder diagnosis included inbehavior information 52, movement parameter values calculated by server44, at least a portion of video information 50 (e.g., video samples)captured by camera 26, or any other information. In some examples,networked server 44 may also generate suggested actions to take based onthe identified patient behavior such as mediations and dosages to take,activities to avoid, or contacting clinician 22 or another healthcareprofessional.

Computing device 54 may include input/output capabilities such as a userinterface configured to accept user input. In some examples, networkedserver 44 may require user input to analyze video information 50 andidentify the patient behaviors. For example, user input may be receivedby computing device 54 to define a sample area of one or more videoframes that corresponds to a desired anatomical region. The sample areamay be of head 14, torso 16, or any other anatomical region of interest.Computing device 54 may then transmit the user input and/or sample areaback to networked server 44 for completion of the analysis andidentification. In addition, networked sever 44 may require the user to,at least initially, set one or more criteria for one or more of thepatient behaviors to be identified. The criteria may include one or morethresholds, ranges, comparisons, or any other values desired byclinician 22 or specific to patient 12. Computing device 54 may transmitthe user defined criteria to networked server 44 for use in identifyingthe patient behavior present within video information 50. Networkedserver 44 may store the user defined criteria in repository 46.Networked server 44 may also store any generated behavior information 52in repository 46.

Although server 44 is generally disclosed as the computing deviceconfigured to generate behavior information 52 and perform other tasks,different computing devices may perform these functions in otherexamples. For example, computing device 30 or computing device 54 mayperform some or all of the steps described herein with respect toidentifying patient behavior from video information 50. In this manner,other computing devices, such as computing device 30, may perform theoperations attributed to server 44. In still other examples, server 44,computing device 30, computing device 54, and/or other computing devicesmay operate cooperatively to perform the processes described herein withrespect to analyzing video information 50 and generating behaviorinformation 52.

FIG. 4 is a block diagram of example computing device 30 of FIGS. 1, 2,and 3. FIG. 4 illustrates only one particular example of computingdevice 30, and many other example embodiments of computing device 30 maybe used in other instances. For example, computing device 30 may includeadditional components and run multiple different applications. Computingdevice 30 may be configured to obtain and/or generate video informationfrom camera 26 and transmit the video information to networked server 44for analysis.

As shown in FIG. 4, computing device 30 may include processor 60, memory62, user interface 66, telemetry module 68, and power sources 70. Camera26 may be located separately from computing device 30 and incommunication with computing device 30 and processor 60. In otherexamples, camera 26 may be incorporated within computing device 30. Eachof components 26, 60, 62, 66, 68 and 70 may be interconnected(physically, communicatively, and/or operatively) for inter-componentcommunications and functionality.

Processor 60, in one example, is configured to implement functionalityand/or process instructions for execution, such as controlling camera 26to capture video information and storing video information 64 (e.g.,video information 50 of FIG. 3), for temporary and/or long term storage,within memory 62. Processor 60 may also be configured to processinstructions stored within memory 62. Processor 60 may also beconfigured to generate metadata or supplemental data (e.g., time stamps,video parameter values, or any other related information) to theplurality of video frames captured by camera 26 and store such data withthe video frames as the video information 64.

Memory 62, in one example, is configured to store information withincomputing device 30 during operation. Memory 62, in some examples, isdescribed as a computer-readable storage medium. Memory 62 may also bedescribed as a storage device or computer-readable storage device. Insome examples, memory 62 is a temporary memory, meaning that a primarypurpose of memory 62 is not long-term storage. However, memory 62 mayalso be described as non-transitory. Memory 62, in some examples, may bedescribed as a volatile memory, meaning that memory 62 does not maintainstored contents when the computer is turned off. Examples of volatilememories include random access memories (RAM), dynamic random accessmemories (DRAM), static random access memories (SRAM), and other formsof volatile memories known in the art. In some examples, memory 62 isused to store program instructions for execution by processor 60.

Computing device 30, in some examples, also includes a network interface68. Computing device 30, in one example, utilizes network interface 68to communicate with other computing devices (e.g., networked server 44of FIG. 3), programmers (e.g., programmer 24 of FIG. 1), computingdevices 54 of FIG. 3, or more networks, such as network 42 shown in FIG.3. In this manner, computing device 30 may transmit captured videoinformation 64 to other computing devices and/or receive instructionsrelated to capturing the video information. Network interface 68 may bea network interface card, such as an Ethernet card or other wiredinterface. In other examples, network interface 68 may include anoptical transceiver, a radio frequency transceiver, or any other type ofdevice that can send and receive information. Other examples of suchnetwork interfaces may include Bluetooth, 3G and WiFi radios in mobilecomputing devices as well as USB. In some examples, computing device 30utilizes network interface 68 to wirelessly communicate with anothercomputing device (e.g., computing device 54 of FIG. 3) or othernetworked computing devices.

Computing device 30, in one example, also includes one or more userinterfaces 66. User interface 66 may include a touch-sensitive and/or apresence-sensitive screen, mouse, a keyboard, a voice responsive system,camera, or any other type of device for detecting a command from a user.In one example, user interface 66 may include a touch-sensitive screen,sound card, a video graphics adapter card, or any other type of devicefor converting a signal into an appropriate form understandable tohumans or machines. In addition, user interface 66 may include aspeaker, a cathode ray tube (CRT) monitor, a liquid crystal display(LCD), or any other type of device that can generate intelligible outputto a user.

Computing device 30, in some examples, includes one or more powersources 70, which provide power to computing device 30. Generally, powersource 70 may utilize power obtained from a wall receptacle or otheralternating current source. However, in other examples, power source 70,may include one or more rechargeable or non-rechargeable batteries(e.g., constructed from nickel-cadmium, lithium-ion, or other suitablematerial). In other examples, power source 70 may be a power sourcecapable of providing stored power or voltage from another power source.

FIG. 5 is a functional block diagram illustrating an exampleconfiguration of networked server 44 and repository 46 of FIG. 3. FIG. 5illustrates only one particular example of server 44, and many otherexample embodiments of server 44 may be used in other instances. Forexample, server 44 may include additional components and run multipledifferent applications. Server 44 may be configured to identify patientbehavior from captured video information (e.g., video information 50 ofFIG. 3) and, in some examples, select one or more therapies to bedelivered to patient 12 based on the identified behaviors. For example,server 44 may be configured to perform some or all of the processesdescribed with respect to FIGS. 6-18.

As shown in the specific example of FIG. 5, server 44 may include and/orhouse one or more processors 80, memory 82, a network interface 84, userinterface 86, behavior identification module 88, and power source 90.Server 44 may be in communication with repository 46, such thatrepository 46 is located external of server 44. In other examples,repository 46 may include one or more storage devices within anenclosure of server 44. Server 44 may also include an operating system,which may include modules and/or applications that are executable byprocessors 80 and server 44. Each of components 80, 82, 84, 86, 88, and90 may be interconnected (physically, communicatively, and/oroperatively) for inter-component communications.

Processors 80, in one example, are configured to implement functionalityand/or process instructions for execution within server 44, such asidentifying patient behavior from video information captured of patientmovement. For example, processors 80 may be capable of processinginstructions stored in memory 82 or instructions stored in repository46. These instructions may define or otherwise control the operation ofserver 44. In some examples, behavior identification module 88 (whichmay include one or more dedicated processors) may be configured toanalyze the video information 50 and identify the patient behaviors thatoccurred within the video information.

Memory 82, in one example, is configured to store information withinserver 44 during operation. Memory 82, in some examples, is described asa computer-readable storage medium. Memory 82 may also be described as astorage device or computer-readable storage device. In some examples,memory 82 is a temporary memory, meaning that a primary purpose ofmemory 82 is not long-term storage. However, memory 82 may also bedescribed as non-transitory. Memory 82, in some examples, may bedescribed as a volatile memory, meaning that memory 82 does not maintainstored contents when the computer is turned off. Examples of volatilememories include random access memories (RAM), dynamic random accessmemories (DRAM), static random access memories (SRAM), and other formsof volatile memories known in the art. In some examples, memory 82 isused to store program instructions for execution by processors 80.Memory 82, in one example, is used by software or applications runningon server 44 to temporarily store information during program execution.Although memory 82 of FIG. 5 is not described as including motiondetection rules 98, movement calculation rules 100 or behavioridentification rules 102, for example, memory 82 may store suchinstructions and other data in other examples.

Repository 46, in some examples, also includes one or morecomputer-readable storage media, such as one or more storage devices.Repository 46 may be configured to store larger amounts of informationthan memory 82. Repository 46 may further be configured for long-termstorage of information. In some examples, repository 46 may includenon-volatile storage elements. Examples of such non-volatile storageelements include magnetic hard discs, optical discs, floppy discs, flashmemories, or forms of electrically programmable memories (EPROM) orelectrically erasable and programmable (EEPROM) memories.

Repository 46 may be configured to store information related to orcollected from each of multiple patients. For example, repository 46 maybe configured to store video information collected from one or morepatients as video information 92. Each patient, and each period of timeduring which video information was captured for each patient, may behave separate memories or allocated space to store such data. Repository46 may also store the behavior information (e.g., behavior information50) generated for each patient. Behavior information 94 may include thepatient behaviors that were identified for each period of time in whichvideo information was captured for each respective patient. Repository46 may also store additional data, such as movement parameter values,that is generated during the process of identifying patient behaviorfrom video information.

Repository 46 may also include data used to allocate sample areas ofrespective anatomical regions represented within the plurality of framesof the video information and analyze the frames. For example, samplearea information 96 may include instructions for allocating, ordetermining, sample areas used to track anatomical region movementbetween frames of the captured video information. The instructions ofsample area information 96 may request a user to define a sample areacorresponding to an anatomical region in a sample frame. In addition,sample area information 96 may include instructions for automaticallydefining a supplemental sample area based on the location of the samplearea defined by the user (e.g., the sample area may represent head 14 ofpatient 12 and the supplemental sample area may be torso 16 of patient12). In some examples, sample area information 96 may includeinstructions for automatically analyzing, or searching, the video framesof the captured video information for one or more frames suitable fordefining a sample area. Repository 46 may also store any sample areasdefined by user input and/or determined by server 44. Examiner processesand techniques stored as sample area information 96 may be included inFIGS. 7 and 18.

In addition, repository 46 may store additional rules and instructionsused to identify patient behavior from video information. Motiondetection rules 98 may include rules or instructions for processors 80to determine motion of anatomical regions between frames of videoinformation. Motion detection rules 98 may include at least some of theprocesses described in example FIGS. 8-10. For example, motion detectionrules 98 may instruct processors 80 to filter the captured pixels andgenerate a motion track map.

Movement calculation rules 100 may be stored by repository 46 andprovide instructions to processors 80 regarding calculating values ofmovement parameters. The calculated movement parameter values maycharacterize the movement of anatomical regions between frames of thevideo information. Movement detection rules 100 may include at leastsome of the processes and techniques described in example FIGS. 11-13.For example, movement detection rules 100 may include instructions forcalculating the velocities and velocity angles of anatomical regionmovement and/or frequencies of movement in each frame. These movementparameter values may be used to identify which patient behaviors arepresent within the captured video information.

Behavior identification rules 102 may be stored by repository 46 andprovide instructions to processors 80 regarding the criteria foridentifying behaviors from the calculated movement parameters. Thepatient behaviors may be predetermined and selected when the movementparameter values indicate that the patient behavior has occurred.Behavior identification rules 102 may include the processes andtechniques of example FIGS. 14-17. For example, behavior identificationrules 102 may include criteria for determining when the calculatedmovement parameter values indicate that the predetermined patientbehaviors of dyskinesia, bradykinesia, or tremor have occurred in one ormore anatomical region of patient 12.

According to the rules and information stored in repository 46,processors 80 may thus automatically analyze video information 50 todetermine which patient behaviors occurred in the frames of the videoinformation. In one example, processors 80 may be configured to obtainvideo information 50 of patient motion captured over a period of time.The video information may include a plurality of frames (e.g., videoframes). Processors 80 may be configured to receive, with respect to oneframe of the plurality of frames, a selection of a sample arearepresentative of an anatomical region. Processors 80 may then beconfigured to analyze each of the other plurality of frames forrespective areas corresponding to the sample area and calculate one ormore movement parameters of the anatomical region during the period oftime from at least one difference between the sample area and one ormore respective areas of at least a subset of the plurality of frames.Processors 80 may next be configured to compare the one or morecalculated movement parameters of the period of time to respectivecriteria for each of a plurality of predetermined patient behaviors.Using these comparisons, processors 80 may be configured to identify,based on the comparison, each one of the predetermined patient behaviorsthat occurred during the period of time.

Server 44, in some examples, also includes a network interface 84.Server 44, in one example, utilizes network interface 84 to communicatewith other computing devices (e.g., computing device 54 of FIG. 3),programmers (e.g., programmer 24 of FIG. 3), medical devices, or morenetworks, such as network 42 shown in FIG. 3. In this manner, server 44may receive video information 50 and transmit information such asbehavior information 50. Network interface 84 may be a network interfacecard, such as an Ethernet card or other wired interface. In otherexamples, network interface 84 may include an optical transceiver, aradio frequency transceiver, or any other type of device that can sendand receive information. Other examples of such network interfaces mayinclude Bluetooth, 3G and WiFi radios in mobile computing devices aswell as USB. In some examples, server 44 utilizes network interface 84to wirelessly communicate with another computing device (e.g., computingdevice 54 of FIG. 3) or other networked computing devices.

Server 44, in one example, also includes one or more user interfaces 86.User interface 86 may include a touch-sensitive and/or apresence-sensitive screen, mouse, a keyboard, a voice responsive system,camera, or any other type of device for detecting a command from a user.In one example, user interface 86 may include a touch-sensitive screen,sound card, a video graphics adapter card, or any other type of devicefor converting a signal into an appropriate form understandable tohumans or machines. In addition, user interface 86 may include aspeaker, a cathode ray tube (CRT) monitor, a liquid crystal display(LCD), or any other type of device that can generate intelligible outputto a user.

Server 44, in some examples, includes one or more power sources 90,which provide power to server 44. Generally, power source 90 may utilizepower obtained from a wall receptacle or other alternating currentsource. However, in other examples, power source 90, may include one ormore rechargeable or non-rechargeable batteries (e.g., constructed fromnickel-cadmium, lithium-ion, or other suitable material). In otherexamples, power source 90 may be a power source capable of providingstored power or voltage from another power source.

Server 44 may, in some examples, utilize behavior identification module88 to identify which patient behaviors occurred within the videoinformation. Behavior identification module 88 may communicate withrepository 46 to retrieve, in accordance with instructions such asstored commands or user input, sample area information 96, motiondetection rules 98, movement calculation rules 100, and behavioridentification rules 102 as needed to identify the behaviors of thepatient. Behavior identification module 88 may include dedicatedhardware (e.g., one or more processors), firmware, and/or software toperform the functions described herein. In other examples, one or moreof processors 80 may perform some or all of the functions describedherein within respect to behavior identification module 88. Any softwareimplemented within or executed by server 44 may be implemented orcontained within, operable by, executed by, and/or beoperatively/communicatively coupled to components of server 44 (e.g.,processors 80, memory 82, network interface 84, and/or repository 46).

FIGS. 6-18 are flow diagrams illustrating various processes andtechniques that may be used to identify patient movement behaviors fromvideo information captured of patient 12. Each of FIGS. 6-18 may provideportions or subparts of the overall process that may be used in someexamples. Generally, one or more processors 80 of networked server 44are described as performing the described processes in FIGS. 6-18.However, the processes may be performed by one or more other devices orsystems (e.g., computing device 30 or computing device 54 orcombinations of different processors and/or devices in other examples.

FIG. 6 is a flow diagram that illustrates an example process foridentifying patient behaviors based on analyzed video information 50 ofpatient 12. As shown in FIG. 6, an example overall process may be usedby processors 80 to identify one or more patient behaviors that occurredduring the period of time in which video information 50 was captured bycamera 26. Processors 80 may obtain video information 50 of the movementof patient 12 captured during a period of time (104). Video information50 may include a plurality of frames. Processors 80 may also determinethe anatomical region or regions for which motion will be detected fromvideo information 50 (106). Determining the anatomical regions mayinclude receiving user input defining one or more sample area of one ormore video frames that correspond to the desired anatomical regions. Inother examples, processors 80 may define a sample area for anotheranatomical region based on the user defined first sample area.

Processors 80 may also calculate at least one movement parameter fromvideo information 50 and for the one or more anatomical regions definedin the one or more frames (108). In some examples, processors 80 mayanalyze the frames of video information 50 to identify the areas withinframes that correspond to each respective sample area. In this manner,processors 80 may define the anatomical region within each of the framesprior to calculating the movement parameters. In response to calculatingthe movement parameter values for each of the frames of videoinformation 50, processors 80 may identify, based on the movementparameter values, one or more patient behaviors of patient 12 during theperiod of time in which video information 50 was obtained (110). Sincethis identification may be based on the comparison of movement parametervalues to criteria for each of a plurality of predefined patientbehavior, processors 80 may generate an objective indication of thepatient behavior and movement disorders. Networked server 44 may thenoutput the identified patient behaviors to computing device 54 vianetwork 42, in some examples.

In some examples, processors 80 may identify patient behavior based onmovement parameters for multiple anatomical regions. For example, oneregion may be head 14 of patient 12 and another region may be torso 16of patient 12. Processors 80 may determine the respective areas of eachframe that correspond to the anatomical regions and calculate one ormore movement parameters of the head and torso regions during the periodof time from at least one difference between the respective sample areasand one or more respective areas of a subset of the plurality of framescorresponding to the respective sample areas. Processors 80 may then beconfigured to identify each one of the predetermined patient behaviorsthat occurred during the period of time based on the respective movementparameters of both the head and the torso regions of patient 12.

FIG. 7 is a flow diagram that illustrates an example process forallocating sample areas representing a respective anatomical regioncaptured in video information 50. As shown in FIG. 7, processors 80 mayobtain video information 50 of patient 12 and output or control adisplay device to present a frame of video information 50 (112). Forexample, processors 80 may transmit the frame to computing device 54 forpresentation to a user. Processors 80 may receive, with respect to theone frame presented to the user, a selection or a user input defining afirst area corresponding to head 14 of patient 12 (114). If there isanother frame in which a sample area should be defined (“YES” branch ofblock 116), processors 80 may select the next frame (118) and continueto output or present the frame to a user (112). Multiple sample areasfor the same anatomical region may be defined for the video informationto account for variations in video quality, non-continuous videoinformation, and/or different angles in which one sample area may not besufficient to track the anatomical region through other frames.

If there is no other frame to select a sample area (“NO” branch of block116), processors 80 may check to see if there is any user input toselect the body or torso 16 anatomical region of patient 12 (120). Ifthere is input to receive (“YES” branch of block 120), processors mayreceive indications of input identifying a second sample area of theframe that corresponds to torso 16 of patient 12 (112). If there is noinput to receive (“NO” branch of block 120), then processors 80 mayautomatically determine or select a default second sample area thatcorresponds to torso 16 and is based on the head sample area (124). Forexample, processors 80 may determine a rectangular area below the centerof the sample area of head 14 as the area corresponding to torso 16.Processors 80 may define the top two corners of the rectangular area asthe shoulders of patient 12. The rectangular area of the torso may be adefault rectangle stored in memory.

Since the default rectangle may not be the appropriate size to the torsoof patient 12 in the frame, processors 80 may scale the defaultrectangle to the size of the sample area of head 14 defined by the user(126). As described herein, various velocity and motion thresholds maybe dynamically adjusted based on the size of one or more anatomicalregions defined by the corresponding sample area. After processors 80have determined each of the first and second sample areas that representthe respective anatomical regions, processors 80 may store the sampleareas to track the corresponding anatomical region movement throughother frames of the period of time in which the video information wascaptured.

Although the anatomical regions of FIG. 7 are described as head 14 andbody 16 of patient 12, any portions of the anatomy of patient 12 may beselected to perform the motion analysis. Only one anatomical region maybe identified with a sample area or more than two regions may beidentified by respective sample areas. In other examples, the samplearea may correspond to other anatomical regions, such as one or morearms, hands, legs, feet, or any combination thereof.

FIG. 8 is a flow diagram that illustrates an example process foridentifying areas of video frames corresponding to the sample area of adifferent frame. Once a sample area is identified, processors 80 cancompare the sample area to corresponding areas in the next frame (130).Processors 80 may analyze each of the other frames from the frame withthe sample area for respective areas that correspond to the sample area.To complete this process, processors 80 may search successive framesfrom the area that is temporally contiguous with another area mostsimilar to the sample area. Processors 80 may this determine where thesample area has moved within the frames of the video information.

Since the area of the next frame that is most similar to the sample areamay not be exactly the same, processors 80 may generate a correlationcoefficient between the sample area and the corresponding area in thesubsequent frame by comparing the sample area to the corresponding area(132). If the correlation coefficient is not greater than a correlationthreshold (“NO” branch of block 134), processors 80 may not identify thecorresponding area in the next frame as the anatomical region of thesample area (136). If the correlation coefficient is greater than thecorrelation threshold (“YES” branch of block 134), processors 80 mayidentify the corresponding area in the next frame as the anatomicalregion of the sample area (138). The correlation threshold may beuser-specific, program-specific based on the anatomical region or othercriteria, or predetermined.

If there is another frame to analyze for a corresponding area to thesample area (“YES” branch of block 140), processors 80 may select thenext frame (142) and again compare the sample area to possiblecorresponding areas in the next frame (130). If there are no otherframes to analyze, (“NO” branch of block 140), processors 80 may storeindications of the identified corresponding areas for each of therespective frames (144). Processors 80 may perform the process of FIG. 8for each of the sample areas and/or anatomical regions (e.g., a head anda torso) selected by a user or otherwise defined in the videoinformation.

FIG. 9 is a flow diagram that illustrates an example process forfiltering raw motion pixels from noise in video information 50. As shownin FIG. 9, processors 80 may obtain video information 50 with multiplevideo frames and select the initial frame of the video information(146). Processors 80 may filter the data in each frame by subtractingthe next, or subsequent, frame from the previous frame to generate rawmotion pixels (148). In this manner, processors 80 may be configured togenerate raw motion pixels for each of the plurality of frames, whereinthe raw motion pixels are a difference between pixels of each of theother plurality of frames and its respective prior frame.

For each raw motion pixel of the frame, processors 80 may determine agray intensity value (150). For each raw motion pixel of the frameprocessors 80 may compare the respective gray intensity value to a grayintensity threshold (152). Processors 80 may then remove any raw motionpixels with a gray intensity value below the gray intensity threshold(154). Stated another way, processors 80 may be configured to identifyraw motion pixels having a gray intensity value greater than the grayintensity threshold as intensity motion pixels for that frame (156). Ifthere is another frame to be filtered (“YES” branch of block 158),processors 80 may select the next frame (160) and generate raw motionpixels for that next frame (148). If there are no other frames to befiltered (“NO” branch of block 158), processors 80 may generate a motiontrack map comprising the intensity motion pixels of each of the otherplurality of frames (162). The process of FIG. 9 may be referred to asgray-intensity filtering.

FIG. 10 is a flow diagram that illustrates an example process forgenerating a motion track map with pixels indicative of patient motion.The process of FIG. 10 may be an additional filtering mechanism to thegray-intensity filtering of FIG. 9. Processors 80 may first select thevideo frames to filter, which may be all of the frames from the videoinformation (164). For each intensity motion pixel generated in FIG. 9,processors 80 may determine if the intensity motion pixel occurs in acontinuous or adjacent area in a subsequent frame (166). If the pixelsin the pair of frames are not continuous (“NO” branch of block 168),processors 80 may remove the pixel as random noise in the original frame(170). If the pixels in the pair of frames are continuous with eachother (“YES” branch of block 168), processors 80 may identify andinclude the pixel as a real motion pixel representative of movement ofthe anatomical region (172).

If there are more intensity motion pixels to analyze (“YES” branch ofblock 174), processors 80 may select the next intensity motion pixel(176) and again determine the continuity of the pixel to a subsequentframe (166). If there are no more pixels in the frame to analyze (“NO”branch of block 174), processors may determine if there are more framesto analyze (178). If there are more frames to analyze (“YES” branch ofblock 178), processors 80 may select the next frame (180) and againdetermine the continuity of the pixel in the next frame to a subsequentframe (166). After all intensity motion pixels are analyzed or filtered,processors 80 may save the real motion pixels for each frame as a motiontrack map (182). In other words, processors 80 may update the motiontrack map to include only the identified real motion pixels.

FIG. 11 is a flow diagram that illustrates an example process forcalculating values of movement parameters for each frame of the motiontrack map of FIG. 10. The process of FIG. 11 is described with respectto a head of patient 12. However, the same process may be used for otheranatomical regions. As shown in FIG. 11, processors 80 may select aframe with the real motion pixels (184). Processors 80 may thendetermine and store a center of the head from the area of real motionpixels corresponding to the head region (186). After selecting the nextframe for the period of time (188), processors 80 may determine andstore the center of the head from the area of real motion pixels in thisnext frame (190). Based on the two center positions of the head in thepair of frames, processors 80 may calculate the velocity of the headmovement between the selected frame and the previous frame (192).

Processors 80 may also calculate the normalized tortuosity at theselected frame (194). The normalized tortuosity may be a measure of howmuch effort patient 12 was using to maintain the head in a certainlocation. The normalized tortuosity may be a ratio of a distance thecenter of the corresponding area moved from the prior frame to adistance a center of the anatomical region moved during the period oftime. In other words, the ratio is the movement of the head over a shortperiod of time to the movement of the head over a long period of time. Agreater ratio indicates a larger tortuosity value and the more effortthat a patient needs to use to keep the head in a desired location.

Put another way, the normalized tortuosity may be definedmathematically. At any given frame, the normalized tortuosity may becalculated as:

$\begin{matrix}{{R_{F} = {1 - \frac{E\; L_{F}}{P\; L_{F}}}},} & (1)\end{matrix}$

wherein R_(F) is the normalized tortuosity, EL_(F) is then end-pointlength or the distance the head has actually moved over a specifiedperiod, and PL_(F) is the path length or distance the head moved betweenframes (or between the two frames in which the distance is to becalculated). According to the equation (1), the normalized tortuositywill be close to 1 when the head is quivering between frames and theoverall end-point length remains close to zero. Conversely, thenormalized tortuosity value may be close to 0 when there is not muchquivering motion or total motion of the head.

Processors 80 may also calculate the velocity of the head movement andthe amount of motion in addition to the uncertainty of the head movement(196). Processors 80 may determine the uncertainty in the head movementby analyzing the correlation coefficient of the head, determining if thehead center moves more than a distance threshold in consecutive frames,and/or a ratio of the movement displacement contradicts the velocity ofthe head (e.g., there is a small movement displacement and a largevelocity). These uncertainty determinations may establish when thebehavior may be reliable and when it is not reliable.

FIG. 12 is a flow diagram that illustrates an example process forgenerating motion groups of pixels and calculating movement parametersfor each of the motion groups. As shown in FIG. 12, processors 80 maydetermine or receive a sample body location (e.g., a sample areacorresponding to the torso of patient 12) (202) and calculate a realmotion map (204) according to the processes described herein. For theidentified real motion pixels each of the other plurality of frames,processor 80 may be configured to combine neighboring real motion pixelsinto respective motion groups (206). Processors 80 may then calculate amotion center for each of the respective motion groups (208). If thereis another frame from which motion groups need to be determined (“YES”branch of block 210), processors 80 may select the next frame andcombine the neighboring motion pixels into motion groups (206).

If there are no additional frames to analyze (“NO” branch of block 210),processors 80 may, for each of the motion centers, calculate a velocityfor the respective frame and calculate a velocity change and a velocityangle between the motion center and the corresponding motion center fromthe prior frame (212). If there are more pairs of frames (“YES” branchof block 214), processors 80 may again calculate the respective velocitychange and velocity angle (212). If there are no further pairs of framesto analyze (“NO” branch of block 214), processors 80 may store themovement parameter values (e.g., storing the velocity, the velocitychange, and the velocity angle as respective movement parameter values(216). In some examples, the uncertainty of the body movement describedin FIG. 12 may be determined by the uncertainty of the head regionpreviously calculated or other body specific correlation coefficients.

Processors 80 may, in one example, determine the closest pair of motioncenters between two consecutive frames M_(F) and M_(F-T), where T is thelength of an analysis period between frames. Let C_(F,i) denote thei^(th) motion center in M_(F) and C_(F-T,j) denote the j^(th) motioncenter in M_(F-T) (i.e. C_(F,i)εM_(F) and C_(F-T,j)εM_(F-T)). Each pairof motion centers thus indicates a possible movement in a body region inthe period of T. If {C_(F,i), C_(F-T,j)} is a matching pair of motioncenters in video frame F and (F−T), a movement velocity between{C_(F,i), C_(F-T,j)}, denoted as V_(F,i), can then be calculated asC_(F,i)−C_(F-T,j). The velocity angle of V_(F,i), denoted as A_(F,i), iscomputed as the angle between V_(F,i) and the x-axis. The velocitychange ΔV_(F,i) and angular change ΔA_(F,i) from frame (F−T) to F formotion center C_(F,i) can then be obtained as V_(F,i)−V_(F-T,j) andA_(F,i)−A_(F-T,j), respectively.

FIG. 13 is a flow diagram that illustrates an example process forcalculating movement parameters representing frequency of patientmotion. As shown in FIG. 13, processors 80 may obtain real motion pixels(e.g., from the process of FIG. 10) for frames of an analysis period andselect a first frame (220). Processors 80 may apply a fast Fouriertransform (FFT) to the real motion pixels of the selected frame (222)and determine the highest three amplitude spectrums from the FFTanalysis (224). The highest three amplitude spectrums may be the mostcommon frequencies within the analysis. Processors 80 may determine ifany of the three amplitude spectrums are within a predeterminedfrequency range (226). For example, the predetermined frequency rangemay be selected according to a certain behavior, such as tremor. Anexample range of frequency may be approximately 4-8 Hz for detecting thepresence of a tremor. Other ranges of frequencies associated with othertypes of movement disorders may be used in addition to or alternativelyfrom the predetermined frequency range for tremor. Frequency ranges mayfall within any movement disorder frequency such as betweenapproximately 0.1 Hz to 50 Hz.

If none of the three highest amplitude spectrums are within thepredetermined frequency range (“NO” branch of block 226), processors 80may select another frame to analyze (234). If any of the three highestamplitude spectrums are within the predetermined frequency range (“YES”branch of block 226), processors 80 may set the highest, or most common,frequency as the detected frequency (228). Processors 80 may alsocalculate the confidence level as the inverse of the highest frequencyin the range (230) and store the detected frequency and confidence level(232). For example, if highest amplitude spectrum is within thepredetermined frequency range, the confidence level would be 1. If thethird highest amplitude spectrum is within the predetermined frequencyrange, the confidence level would be ⅓. This frequency analysis mayallow processors 80 to extract rhythmic movements for diagnosis andtreatment such as tics, blinking, twinges, spasms, hand or limbmovements, and trunk movement. If there is another frame to analyze(“YES” branch of block 234), processors 80 may select the next frame(236) and apply the FFT to the next frame (232). If there is no otherframe to analyze (“NO” branch of block 234), processors 80 may terminatethe analysis (238). Although only the top three amplitude spectrums maybe used in this example, other examples may include ranging all of theamplitude spectrums to see if any fall within the predeterminedfrequency range. The confidence level may then be the inverse of therank of the frequency.

FIG. 14 is a flow diagram that illustrates an example process foridentifying dyskinesia in the head of patient 12. In other examples, theprocess of FIG. 14 may be used to identify dyskinesia in a limb or otherlocation of the body. As shown in FIG. 14, processors 80 may determinethe analysis period for the behavior (e.g., the period of time that thevideo information was captured) (240) and obtain the tortuositycalculation for each frame of the analysis period (242). The tortuositycalculation is described in FIG. 11.

For each of the plurality of frames, processors 80 may compare the valueof the tortuosity parameter to a tortuosity threshold and generate,based on the comparison for each of the other plurality of frames, afrequency for which the value of the normalized tortuosity exceeded thetortuosity threshold during the period of time (244). If the frequencyis less than the tortuosity threshold (“NO” branch of block 246),processors 80 do not confirm dyskinesia of the head (254).

If the frequency is greater than the tortuosity threshold (“YES” branchof block 246), processors 80 may obtain or generate, for each of theother plurality of frames, an uncertainty of the respective areascorresponding to the anatomical region (248). Processors 80 may alsodetermine the occurrence of the uncertainty in the frames. If theuncertainty of the respective areas is greater than an uncertaintyoccurrence threshold (“NO” branch of block 252), processors 80 maydetermine that dyskinesia is unconfirmed or not an issue (254). If theuncertainty of the respective areas is less than the occurrencethreshold (“YES” branch of block 252), processors 80 may, in response todetermining the occurrence of uncertainty, processors 80 may confirmdyskinesia in the head and store the indication for the analysis period.

FIG. 15 is a flow diagram that illustrates an example process foridentifying bradykinesia as a patient behavior in a patient. As shown inFIG. 15, processors 80 may obtain the movement parameter values for theanalysis period and select a first frame (260). For example, themovement parameter values may be calculated according to the process ofFIG. 12. Processors 80 may compare the velocity of the motion center toa velocity threshold (262), compare the change in velocity to a changethreshold (264), and compare the change in velocity angle to an anglethreshold (266). If processors 80 determine that at least one of one ormore motion centers within the respective frame have a velocity greaterthan a velocity threshold (262), a velocity change less than a velocitychange threshold (264), and a velocity angle less than a velocity anglethreshold (266), processors 80 may indicate, based on the determination,that bradykinesia occurred in the respective frame (270). If processors80 determine that at least one of one or more motion centers within therespective frame have a velocity less than a velocity threshold (262), avelocity change greater than a velocity change threshold (264), and avelocity angle greater than a velocity angle threshold (266), processors80 may indicate, based on the determination, that no bradykinesia wasidentified within the frame (268).

If processors 80 determine that there is another frame to analyze (“YES”branch of block 272), processors 80 may select the next frame (274) andcompare the movement parameter values to their respective thresholds. Ifprocessors 80 determine that there are no other frames to be analyzed(“NO” branch of block 272). Processors 80 may identify bradykinesia, ordetermine that bradykinesia occurred, when bradykinesia has beenidentified in more than a threshold number of frames (276). Processors80 may also determine an uncertainty of the respective areascorresponding to the anatomical region occurred at a frequency less thanan uncertainty occurrence threshold (278). In response to determiningthat bradykinesia was identified in a threshold number of frames andthat the occurrence uncertainty was less than the uncertainty occurrencethreshold, processors 80 may confirm and identify that bradykinesiaoccurred for the anatomical region during the period of time in whichvideo information was captured (280). The process of FIG. 15 may includevarious criteria for identifying the patient behavior of bradykinesia.Each of the thresholds may be user-selected, device-selected, orpredefined.

FIG. 16 is a flow diagram that illustrates an example process foridentifying dyskinesia in a body of a patient. As shown in FIG. 16,processors 80 may obtain the movement parameter values for the analysisperiod and select a first frame (282). For example, the movementparameter values may be calculated according to the process of FIG. 12for a sample area corresponding to a body area such as torso 16.Processors 80 may compare the velocity of the motion center to avelocity threshold (284), compare the change in velocity to a changethreshold (286), and compare the change in velocity angle to an anglethreshold (288). If processors 80 determine that at least one of one ormore motion centers within the respective frame have a velocity greaterthan a velocity threshold (284), a velocity change greater than avelocity change threshold (286), and a velocity angle greater than avelocity angle threshold (288), processors 80 may indicate, based on thedetermination, that dyskinesia occurred in the respective frame (292).If processors 80 determine that at least one of one or more motioncenters within the respective frame have a velocity less than a velocitythreshold (284), a velocity change less than a velocity change threshold(286), and a velocity angle less than a velocity angle threshold (288),processors 80 may indicate, based on the determination, that nodyskinesia was identified within the frame (290).

If processors 80 determine that there is another frame to analyze (“YES”branch of block 294), processors 80 may select the next frame (296) andcompare the movement parameter values to their respective thresholds. Ifprocessors 80 determine that there are no other frames to be analyzed(“NO” branch of block 294). Processors 80 may identify dyskinesia, ordetermine that dyskinesia occurred, when dyskinesia has been identifiedin more than a threshold number of frames (298). Processors 80 may alsodetermine an uncertainty of the respective areas corresponding to theanatomical region occurred at a frequency less than an uncertaintyoccurrence threshold (300). In response to determining that dyskinesiawas identified in a threshold number of frames and that the occurrenceuncertainty was less than the uncertainty occurrence threshold,processors 80 may confirm and identify that dyskinesia occurred for theanatomical region (such as a torso region) during the period of time inwhich video information was captured (302). The process of FIG. 16 mayinclude various criteria for identifying the patient behavior ofdyskinesia. Each of the thresholds may be user-selected,device-selected, or predefined.

FIG. 17 is a flow diagram that illustrates an example process foridentifying tremor in a patient. The process of FIG. 17 may require themovement information, or movement parameter values, calculated todetermine the frequency with which the patient was moving in the periodof time the video information was captured. As shown in FIG. 17,processors 80 may obtain the movement information for the analysisperiod (304). The movement information may include the calculatedmovement parameter values described in FIG. 13. For example, processors80 may be configured to apply a fast Fourier transform (FFT) to the realmotion pixels of the frame to generate amplitude spectrums in afrequency domain, select three frequencies having the highest amplitudespectrums in the frequency domain, select, based on the comparison, oneof the three frequencies that falls within a predetermined range offrequencies and has the highest amplitude spectrum of the threefrequencies, and store the selected one of the three frequencies as adetected frequency for the respective frame. Processors 80 may performthis frequency analysis on each of the frames with real motion pixels.

Processors 80 may then determine the occurrence of frames in which thedetected or computed frequency is within the specified range (305). Inother words, this step may include a determination of the occurrencewith which a subset of frames includes the detected frequency that fallswithin the specified, or predetermined, frequency range. If theoccurrence of the frames is less than an occurrence threshold (“NO”branch of block 306), processors 80 may determine that there is notremor and that the tremor is unconfirmed (307). If the occurrence offrames is greater than the occurrence threshold (“YES” branch of block306), processors 80 may determine an occurrence of the uncertainty ofthe respective areas (such as the uncertainty of the head region)corresponding to the anatomical region for the frames of the period oftime (308). This occurrence may be the frequency at which theuncertainty is greater than a threshold for each frame.

If the occurrence of the uncertainty in each frame is greater than anuncertainty occurrence threshold (“NO” branch of block 309), processors80 will determine that the tremor is unconfirmed and not present (307).If the occurrence of the uncertainty in each frame is less than theuncertainty occurrence threshold (“YES” branch of block 309), processors80 may be configured to confirm that the behavior of tremor was presentin the frames of the analysis period (310). In this manner, processors80 may identify tremor as at least one patient behavior that occurredduring the period in response to determining the occurrence of thespecified frequency exceeded the occurrence threshold and theuncertainty was less than the uncertainty occurrence threshold.

Each of the processes described herein may be performed on the samevideo information 50 such that multiple different patient behaviors maybe assessed on the same video frames. In this manner, processors 80 maybe configured to identify different behaviors present in the same framesand/or same patient motions. For example, processors 80 may perform theprocesses of FIGS. 14-17 on the same video frames. Although dyskinesia,bradykinesia, and tremor are described herein as some predeterminedpatient behaviors to be identified from the video information, otherpatient behaviors (e.g., dystonia, rigidity, restless leg syndrome,etc.) may be identified in other examples using similar techniques. Eachof the thresholds herein may be based on at least one of the type ofbehavior to be identified, asymptomatic movement parameter values,clinician experience, other patient data, individual patient history,patient age, currently delivered therapies, or any other related input.

In some examples, processors 80 and/or additional devices may beconfigured to process the video data in multiple ways to identify asingle patient behavior. For instance, processors 80 may process thevideo data to identify tremor according to the examples above.Processors 80 may also process the same video data to identify whetherthe tremor occurred during patient movement, as may be determined bydetermining whether a velocity of a motion center of one or more bodyregions of the patient is greater than a threshold. An entire bodyregion of the patient may be used to determine whether the patient ismoving between two different areas of the video frame, such as betweentwo different locations within the room where the patient resides.Processor 80 may utilize both the frequency and velocity informationobtained from the video data to identify whether the patient behaviorrelates to tremor during rest (e.g., the patient is stationary) ortremor during motion (e.g., the patient is ambulatory).

The behaviors identifiable by processors 80 described above are someexamples, but processors 80 may be configured to identify any number ofalternative or additional patient behaviors. For example, processors 80may be configured to define behaviors associated with a patient's gait,vertical stability, postural stability, posture symmetry, arm-swingsize, overall body rigidity, overall poverty of movement (e.g., lack ofmovement), whether the patient is experiencing passive motion, and anyother such behaviors. Processors 80 may define behaviors associated withany one or more parts of the patient's body. For instance, behaviorsassociated with facial features, such as lip movement or tonguemanipulation, may be defined by processors 80 from the video data. Insome cases, processors 80 may be configured to define one or morebehaviors associated with multiple parts of the patient's body.

FIG. 18 is a flow diagram that illustrates an example process forsuggesting one or more frames of video information 50 in which to definea sample area of an anatomical region of patient 12. The process of FIG.18 may be performed by processors 80 in order to present candidate videoframes that may be suitable for defining a sample area. In someexamples, the process of FIG. 18 may be used to identify two or moresample areas within the plurality of frames within the video informationwhen patient 12 may have moved positions or otherwise changed how one ormore anatomical regions can be viewed. In this manner, processors 80 mayidentify potential problematic frames for analyzing patient motion andmay present candidate frames intended to resolve any analysis issuesbefore the analysis is even performed.

As shown in FIG. 18, processors 80 may obtain video information 50 ofpatient movement (312). Processors 80 may then scan the plurality offrames for one or more candidate frames having the anatomical region andfor selection (or defining) a sample area of the anatomical region(313). For example, the anatomical region may be head 14 of patient 12.Processors 80 may select, based on the scan, one or more candidateframes to be presented for user definition of respective sample areas(314). Processors 80 may identify frames in which certain areas changedramatically or frames associated with a continuous chain of framesincluding a similar area.

Processors 80 may output the one or more candidate frames forpresentation to a user (e.g., clinician 22). After the user defines oneor more sample areas, processors 80 may receive the sample areaidentification for the respective frames (315). In response to receivingthe sample areas, processors 80 may perform the analysis of the videoinformation and included frames to identify the occurrence of anypatient behavior within the captured video information (316). In someexamples, processes 80 may select one or more candidate frames inresponse to identifying a group of frames (e.g., consecutive frames) inwhich calculated uncertainty levels exceed an uncertainty threshold orother issues with the analysis arise.

As described herein, a networked server 44 or any other computing devicemay perform one or more processes to identify patient behavior fromvideo information captured of patient 12. These identified patientbehaviors may be used to diagnose movement disorders or underlyingdiseases and/or or monitor the progression of such disorders. Inaddition, the identified patient behaviors may be used to control orimprove the delivery of therapy to patient 12. For example, theidentified patient behavior may be used as direct feedback used tocontrol therapy delivery. In another example, the identified patientbehavior may be used to calibrate other sensors that provide sensedpatient parameter values used as feedback in controlling therapy. Thetypes of therapy that may be controlled include electrical stimulationtherapy, drug delivery therapy, and/or oral medication prescriptions.

FIG. 19 is a conceptual diagram illustrating example system 320 thatincludes implantable medical device (IMD) 324 configured to deliver deepbrain stimulation to patient 12A. Patient 12A may be patient 12A ofFIGS. 1 and 2 or a different patient. System 320 may be configured totreat a patient condition, such as a movement disorder,neurodegenerative impairment, a mood disorder or a seizure disorder ofpatient 12A. Patient 12A ordinarily will be a human patient. In somecases, however, therapy system 320 may be applied to other mammalian ornon-mammalian, non-human patients. While movement disorders andneurodegenerative impairment are primarily referred to herein, in otherexamples, therapy system 320 may provide therapy to manage symptoms ofother patient conditions, such as, but not limited to, seizure disorders(e.g., epilepsy) or mood (or psychological) disorders (e.g., majordepressive disorder (MDD), bipolar disorder, anxiety disorders,post-traumatic stress disorder, dysthymic disorder, andobsessive-compulsive disorder (OCD)). At least some of these disordersmay be manifested in one or more patient movement behaviors. Asdescribed herein, a movement disorder or other neurodegenerativeimpairment may include symptoms such as, for example, muscle controlimpairment, motion impairment or other movement problems, such asrigidity, spasticity, bradykinesia, rhythmic hyperkinesia, nonrhythmichyperkinesia, and akinesia. In some cases, the movement disorder may bea symptom of Parkinson's disease. However, the movement disorder may beattributable to other patient conditions.

Example therapy system 320 includes medical device programmer 24,implantable medical device (IMD) 324, lead extension 328, and leads 330Aand 330B with respective sets of electrodes 332, 334. In the exampleshown in FIG. 19, electrodes 332, 334 of leads 330A, 330B are positionedto deliver electrical stimulation to a tissue site within brain 322,such as a deep brain site under the dura mater of brain 322 of patient12A. In some examples, delivery of stimulation to one or more regions ofbrain 322, such as the subthalamic nucleus, globus pallidus or thalamus,may be an effective treatment to manage movement disorders, such asParkinson's disease. Electrodes 332, 334 are also positioned to sensebioelectrical brain signals within brain 322 of patient 12A. In someexamples, some of electrodes 332, 334 may be configured to sensebioelectrical brain signals and others of electrodes 332, 334 may beconfigured to deliver electrical stimulation to brain 322. In otherexamples, all of electrodes 332, 334 are configured to both sensebioelectrical brain signals and deliver electrical stimulation to brain322.

IMD 324 includes a therapy module that includes a stimulation generatorthat generates and delivers electrical stimulation therapy to patient12A via a subset of electrodes 332, 334 of leads 330A and 330B,respectively. The subset of electrodes 332, 334 that are used to deliverelectrical stimulation to patient 12A, and, in some cases, the polarityof the subset of electrodes 332, 334, may be referred to as astimulation electrode combination. As described in further detail below,the stimulation electrode combination can be selected for a particularpatient 12A and target tissue site (e.g., selected based on the patientcondition) based on one or more frequency domain characteristics of abioelectrical brain signal (e.g., a patient parameter) that is sensed byone or more groups of electrodes 332, 334 that are associated with thestimulation electrode combination. The group of electrodes 332, 334includes at least one electrode and can include a plurality ofelectrodes. In some examples, the bioelectrical signals sensed withinbrain 322 may reflect changes in electrical current produced by the sumof electrical potential differences across brain tissue. Examples ofbioelectrical brain signals include, but are not limited to, electricalsignals generated from local field potentials (LFP) sensed within one ormore regions of brain 322, such as an electroencephalogram (EEG) signal,or an electrocorticogram (ECoG) signal. Local field potentials, however,may include a broader genus of electrical signals within brain 322 ofpatient 12A. Each of these signals may be correlated or calibrated withthe identified patient behavior and used for feedback in controlling thedelivery of therapy.

In some examples, the bioelectrical brain signals that are used toselect a stimulation electrode combination may be sensed within the sameregion of brain 322 as the target tissue site for the electricalstimulation. As previously indicated, these tissue sites may includetissue sites within the thalamus, subthalamic nucleus or globus pallidusof brain 322, as well as other target tissue sites. The specific targettissue sites and/or regions within brain 322 may be selected based onthe patient condition. Thus, in some examples, both a stimulationelectrode combination and sense electrode combinations may be selectedfrom the same set of electrodes 332, 334. In other examples, theelectrodes used for delivering electrical stimulation may be differentthan the electrodes used for sensing bioelectrical brain signals.

Electrical stimulation generated by IMD 324 may be configured to managea variety of disorders and conditions. In some examples, the stimulationgenerator of IMD 324 is configured to generate and deliver electricalpulses to patient 12A via electrodes of a selected stimulation electrodecombination. However, in other examples, the stimulation generator ofIMD 324 may be configured to generate and deliver a continuous wavesignal, e.g., a sine wave or triangle wave. In either case, a signalgenerator within IMD 324 may generate the electrical stimulation therapyfor DBS according to a therapy program that is selected at that giventime in therapy. In examples in which IMD 324 delivers electricalstimulation in the form of stimulation pulses, a therapy program mayinclude a set of therapy parameter values, such as a stimulationelectrode combination for delivering stimulation to patient 12A, pulsefrequency, pulse width, and a current or voltage amplitude of thepulses. As previously indicated, the stimulation electrode combinationmay indicate the specific electrodes 332, 334 that are selected todeliver stimulation signals to tissue of patient 12A and the respectivepolarity of the selected electrodes.

IMD 324 may be implanted within a subcutaneous pocket above theclavicle, or, alternatively, the abdomen, back or buttocks of patient12A, on or within cranium 32 or at any other suitable site withinpatient 12A. Generally, IMD 324 is constructed of a biocompatiblematerial that resists corrosion and degradation from bodily fluids. IMD324 may comprise a hermetic housing to substantially enclose components,such as a processor, therapy module, and memory.

As shown in FIG. 19, implanted lead extension 328 is coupled to IMD 324via connector 30 (also referred to as a connector block or a header ofIMD 324). In the example of FIG. 19, lead extension 328 traverses fromthe implant site of IMD 324 and along the neck of patient 12A to cranium32 of patient 12A to access brain 322. In the example shown in FIG. 19,leads 330A and 330B (collectively “leads 330”) are implanted within theright and left hemispheres, respectively, of patient 12A in orderdeliver electrical stimulation to one or more regions of brain 322,which may be selected based on the patient condition or disordercontrolled by therapy system 320. The specific target tissue site andthe stimulation electrodes used to deliver stimulation to the targettissue site, however, may be selected, e.g., according to the identifiedpatient behaviors and/or other sensed patient parameters. Other lead 20and IMD 324 implant sites are contemplated. For example, IMD 324 may beimplanted on or within cranium 14A, in some examples. Or leads 330 maybe implanted within the same hemisphere or IMD 324 may be coupled to asingle lead.

Although leads 330 are shown in FIG. 19 as being coupled to a commonlead extension 328, in other examples, leads 330 may be coupled to IMD324 via separate lead extensions or directly to connector 326. Leads 330may be positioned to deliver electrical stimulation to one or moretarget tissue sites within brain 322 to manage patient symptomsassociated with a movement disorder of patient 12A. Leads 330 may beimplanted to position electrodes 332, 334 at desired locations of brain322 through respective holes in cranium 32. Leads 330 may be placed atany location within brain 322 such that electrodes 332, 334 are capableof providing electrical stimulation to target tissue sites within brain322 during treatment. For example, electrodes 332, 334 may be surgicallyimplanted under the dura mater of brain 322 or within the cerebralcortex of brain 322 via a burr hole in cranium 32 of patient 12A, andelectrically coupled to IMD 324 via one or more leads 330.

Example techniques for delivering therapy to manage a movement disorderare described in U.S. Patent Application Publication No. 2009/0099627 byMolnar et al., entitled, “THERAPY CONTROL BASED ON A PATIENT MOVEMENTSTATE,” which was filed on Sep. 25, 2008, which is incorporated hereinby reference in its entirety. In some examples described by U.S. PatentApplication Publication No. 2009/0099627 by Molnar et al., a brainsignal, such as an EEG or ECoG signal, may be used to determine whethera patient is in a movement state or a rest state. The movement stateincludes the state in which the patient is generating thoughts ofmovement (i.e., is intending to move), attempting to initiate movementor is actually undergoing movement. The movement state or rest statedetermination may then be used to control therapy delivery. For example,upon detecting a movement state of the patient, therapy delivery may beactivated in order to help patient 12A initiate movement or maintainmovement, and upon detecting a rest state of patient 12A, therapydelivery may be deactivated or otherwise modified.

In the example shown in FIG. 19, electrodes 332, 334 of leads 330 areshown as ring electrodes. Ring electrodes may be used in DBSapplications because they are relatively simple to program and arecapable of delivering an electrical field to any tissue adjacent toelectrodes 332, 334. In other examples, electrodes 332, 334 may havedifferent configurations. For example, in some examples, at least someof the electrodes 332, 334 of leads 330 may have a complex electrodearray geometry that is capable of producing shaped electrical fields.The complex electrode array geometry may include multiple electrodes(e.g., partial ring or segmented electrodes) around the outer perimeterof each lead 330, rather than one ring electrode. In this manner,electrical stimulation may be directed in a specific direction fromleads 330 to enhance therapy efficacy and reduce possible adverse sideeffects from stimulating a large volume of tissue. In some examples, ahousing of IMD 324 may include one or more stimulation and/or sensingelectrodes. In alternative examples, leads 330 may have shapes otherthan elongated cylinders as shown in FIG. 19. For example, leads 330 maybe paddle leads, spherical leads, bendable leads, or any other type ofshape effective in treating patient 12A and/or minimizing invasivenessof leads 330.

In the example shown in FIG. 19, IMD 324 includes a memory (shown inFIG. 21) to store a plurality of therapy programs that each define a setof therapy parameter values. In some examples, IMD 324 may select atherapy program from the memory based on various parameters, such assensed patient parameters and the identified patient behaviors. IMD 324may generate electrical stimulation based on the selected therapyprogram to manage the patient symptoms associated with a movementdisorder.

External programmer 24 wirelessly communicates with IMD 324 as needed toprovide or retrieve therapy information. Programmer 24 is an externalcomputing device (e.g., computing device 54 of FIG. 3) that the user,e.g., clinician 22 and/or patient 12A, may use to communicate with IMD324. For example, programmer 24 may be a clinician programmer that theclinician uses to communicate with IMD 324 and program one or moretherapy programs for IMD 324. Alternatively, programmer 24 may be apatient programmer that allows patient 12A to select programs and/orview and modify therapy parameters. The clinician programmer may includemore programming features than the patient programmer. In other words,more complex or sensitive tasks may only be allowed by the clinicianprogrammer to prevent an untrained patient from making undesirablechanges to IMD 324.

When programmer 24 is configured for use by the clinician, programmer 24may be used to transmit initial programming information to IMD 324. Thisinitial information may include hardware information, such as the typeof leads 330 and the electrode arrangement, the position of leads 330within brain 322, the configuration of electrode array 332, 334, initialprograms defining therapy parameter values, and any other informationthe clinician desires to program into IMD 324. Programmer 24 may also becapable of completing functional tests (e.g., measuring the impedance ofelectrodes 332, 334 of leads 330).

The clinician may also store therapy programs within IMD 324 with theaid of programmer 24. During a programming session, the clinician maydetermine one or more therapy programs that may provide efficacioustherapy to patient 12A to address symptoms associated with the patientcondition, and, in some cases, specific to one or more different patientstates, such as a sleep state, movement state or rest state. Forexample, the clinician may select one or more stimulation electrodecombination with which stimulation is delivered to brain 322. During theprogramming session, patient 12A may provide feedback to the clinicianas to the efficacy of the specific program being evaluated or theclinician may evaluate the efficacy based on one or more physiologicalparameters of patient 12A (e.g., muscle activity or muscle tone).Alternatively, the identified patient behavior from video information 50may be used as feedback during the initial, and subsequent programmingsessions. Programmer 24 may assist the clinician in thecreation/identification of therapy programs by providing a methodicalsystem for identifying potentially beneficial therapy parameter values.

Programmer 24 may also be configured for use by patient 12A. Whenconfigured as a patient programmer, programmer 24 may have limitedfunctionality (compared to a clinician programmer) in order to preventpatient 12A from altering critical functions of IMD 324 or applicationsthat may be detrimental to patient 12A. In this manner, programmer 24may only allow patient 12A to adjust values for certain therapyparameters or set an available range of values for a particular therapyparameter.

Programmer 24 may also provide an indication to patient 12A when therapyis being delivered, when patient input has triggered a change in therapyor when the power source within programmer 24 or IMD 324 needs to bereplaced or recharged. For example, programmer 24 may include an alertLED, may flash a message to patient 12A via a programmer display,generate an audible sound or somatosensory cue to confirm patient inputwas received, e.g., to indicate a patient state or to manually modify atherapy parameter.

Therapy system 320 may be implemented to provide chronic stimulationtherapy to patient 12A over the course of several months or years.However, system 320 may also be employed on a trial basis to evaluatetherapy before committing to full implantation. If implementedtemporarily, some components of system 320 may not be implanted withinpatient 12A. For example, patient 12A may be fitted with an externalmedical device, such as a trial stimulator, rather than IMD 324. Theexternal medical device may be coupled to percutaneous leads or toimplanted leads via a percutaneous extension. If the trial stimulatorindicates DBS system 320 provides effective treatment to patient 12A,the clinician may implant a chronic stimulator within patient 12A forrelatively long-term treatment.

As described herein, IMD 324 may use identified patient behavior fromvideo information to determine delivery of therapy. For example, one ormore processors of IMD 324 may be configured to receive, from acomputing device such as networked server 44 or programmer 24, anindication of one or more patient behaviors that occurred during aperiod of time. These patient behaviors may have been identified fromvideo analysis of the frames capturing the movement of patient 12A. Inother words, the patient behavior may be determined by a computingdevice from video information 50 captured during the period of time. Inresponse to receiving the indication of the patient behavior, IMD 324may be configured to determine, based on the indication of the patientbehavior, a therapy to be delivered to patient 12A. IMD 324 may alsooutput the determination for at least one of delivery of the therapy topatient 12A and display to a user.

For example, IMD 324 may determine the therapy by selecting one or moretherapy parameter values (e.g., a set of therapy parameters or a therapyprogram) that at least partially defines the therapy. In other examples,other computing devices may be configured to determine the therapy basedon the identified patient behavior (e.g., movement disorder). Forexample, networked server 44, programmer 24, or any other computingdevice may determine the therapy. The therapy may include one or more ofelectrical stimulation therapy, drug delivery therapy (e.g., drugdelivered from an implantable or external drug pump), or oral medicationtherapy.

In some examples, the therapy may be determined directly from theidentified patient behavior. For example, IMD 324 may be configured toselect one of a plurality of predetermined therapies, each of theplurality of therapies corresponding to at least one of the plurality ofpatient behaviors associated with a respective one or more movementparameters generated from video information 50. IMD 324 may storeassociations between the patient behaviors and predetermined therapiesto be delivered upon detection of each behavior. The patient behaviorsmay be identified continuously, in response to receiving new videoinformation, or on demand from a user. In some examples, programmer 24may be configured to select the appropriate therapy associated with anidentified patient behavior and transmit one or more therapy parametersassociated with the patient behavior to IMD 324.

In other examples, the identified patient behaviors may be used as anobjective measure of patient movement and to calibrate one or morepatient parameters to the identified patient behaviors. IMD 324 may thenutilize the calibrated patient parameters as direct feedback to controltherapy. For example, networked server 44 may be configured tocalculate, from video information 50 captured during a period of time,one or more movement parameters of patient 12A and identify, based onthe one or more movement parameters, each of one of a plurality ofpatient behaviors that occurred during the period of time. Networkedserver 44 may then obtain values of a patient parameter (e.g., LFPsignal or patient accelerations) sensed during the period of time.Networked server 44 may then correlate the values of the patientparameter to each of the one of the plurality of patient behaviors thatoccurred during the period of time. These patient parameter values maythen be associated with respective therapy parameter sets selected tomanage the movements of patient 12 in response to subsequent detectionof the patient parameter values.

IMD 324 may receive the patient parameter values and associated therapyparameter sets from networked server 44 and store the associations inmemory. IMD 324 may then use the sensed patient parameter values asfeedback to control therapy delivery. For example, subsequent to thecorrelation of patient behaviors with the sensed patient parametervalues, IMD 324 may be configured to obtain a sensed patient parametervalue and identify one or more of the plurality of patient behaviorsassociated with the sensed patient parameter value. IMD 324 may thendetermine, based on the identification of the patient behaviors, thetherapy to be delivered to the patient. Although networked server 44 wasdescribed as performing the correlation between identified patientbehaviors and sensed patient parameter values, any other computingdevice may perform these tasks. For example, programmer 24 and/or IMD324 may perform the correlations and associations for subsequentfeedback.

In some examples, the therapy may be controlled based on feedback fromtwo or more different patient parameters. For example, networked server44 may be configured to obtain values of a second patient parametersensed during the period of time and correlate the values of the secondpatient parameter to each of the one of the plurality of patientbehaviors that occurred during the period of time. Subsequently, IMD 324or programmer 24 may be configured to determine that the values of boththe first patient parameter and the second patient parameter areassociated with the same patient behavior and identify the same patientbehavior as the one or more of the plurality of patient behaviorsexperienced by patient 12A. In this manner, therapy may be selected onlywhen the values of two or more different patient parameter valuesindicate the same movement behavior is occurring with patient 12A.Requiring multiple patient parameters as feedback may provide aconfirmation and safety check to reduce therapy changes due to falsepositives.

A variety of different patient parameters may be monitored and used toprovide feedback to control stimulation therapy. For example, a patientparameter may be a local field potential (LFP), an electroencephalogram(ECG), an electrogram (EEG), an acceleration of the patient, a relativemotion between two locations of the patient, blood pressure, heart rate,patient speech pattern, patient breathing pattern, sleep indication, ora chemical indication. In this manner, one or more sensors may sense arespective patient parameter. IMD 324 may include one or more sensors orbe coupled to one or more sensors via lead 328. For example, electrodes332,334 may be used to sense LFP or ECG signals and an accelerometer orgyroscope may be included within IMD 324 or on lead 328 to senseaccelerations or rotations of the patient.

In some examples, video information may be recaptured of patient 12A iftherapy is no longer efficacious for patient 12A. For example,programmer 24 may receive user input identifying that the therapy isinsufficient even though therapy is being controlled based on previouslycorrelated and calibrated patient parameters or patient behavior.Programmer 24 may transmit an indication of the user input to networkedserver 44. In response to receiving the indication, networked server 44may be configured to request capture of supplemental video informationof patient motion during a second period of time different than thefirst period of the previous video information 50. Based on thesupplemental video information, networked server 44 may identify anypatient behavior within the supplemental video information. Networkedserver 44 may receive an indication of the patient behavior during thesecond period and use the patient behavior to determine a differenttherapy to be delivered to patient 12A based on the indication of thepatient behavior during the second period of time. In some examples,networked server 44 may update the correlations or calibrations of thepatient parameter values obtained during the second period of time tothe newly identified patient behaviors. The updated calibrations mayimprove the precision with which therapy is directed to patientbehavior. Although networked server 44 is described as updating thecalibrations of the patient parameters, other devices such as programmer24 or IMD 324 may perform the updates to the calibrations and/orassociations of patient parameter values to therapy parameters.

Although IMD 324 is described as delivering electrical stimulationtherapy to brain 322, IMD 324 may be configured to direct electricalstimulation to other anatomical regions of patient 12A. In otherexamples, system 320 may include an implantable drug pump in additionto, or in place of, electrical stimulator 324. Further, as described inFIG. 20, an IMD may provide other electrical stimulation such as spinalcord stimulation to treat a movement disorder.

FIG. 20 is a conceptual diagram illustrating example system 340 thatincludes IMD 344 configured to deliver spinal cord stimulation (SCS) toa patient 12B. Patient 12B may be similar to patient 12A of FIG. 19.System 340 may provide similar therapy and utilize similar feedback(e.g., identified patient behavior and/or sensed patient parameters) tocontrol therapy. In some examples, system 340 may additionally oralternatively be configured to provide peripheral nerve fieldstimulation (PNFS), occipital nerve stimulation, sacral nervestimulation (SNS), pelvic floor stimulation, or any other electricalstimulation therapy.

As shown in FIG. 20, system 340 includes an IMD 344 and externalprogrammer 24 shown in conjunction with a patient 12B, who is ordinarilya human patient. In the example of FIG. 20, IMD 344 is an implantableelectrical stimulator that delivers neurostimulation therapy to patient12B, e.g., for relief of chronic pain or other symptoms such as abnormalmovements. Generally IMD 344 may be a chronic electrical stimulator thatremains implanted within patient 12B for weeks, months, or even years.IMD 344 may be similar to IMD 324 of FIG. 19. In the example of FIG. 20,IMD 344 and lead 346 may be directed to delivering SCS therapy. In otherexamples, IMD 344 may be a temporary, or trial, stimulator used toscreen or evaluate the efficacy of electrical stimulation for chronictherapy. IMD 344 may be implanted in a subcutaneous tissue pocket,within one or more layers of muscle, or other internal location. IMD 344may be coupled to one or more lead 346.

Electrical stimulation energy, which may be constant current or constantvoltage based pulses, for example, is delivered from IMD 344 to one ormore targeted locations within patient 12B via one or more electrodes(not shown) of lead 346. The parameters for a program that controlsdelivery of stimulation energy by IMD 344 may include informationidentifying which electrodes have been selected for delivery ofstimulation according to a stimulation program, the combination of theselected electrodes, and the polarities of the selected electrodes,i.e., the electrode configuration for the program, and voltage orcurrent amplitude, pulse frequency (or pulse rate), pulse shape, andpulse width of stimulation delivered by the electrodes. Electricalstimulation may be delivered in the form of stimulation pulses orcontinuous waveforms, for example.

In the example of FIG. 20, lead 346 is disposed within patient 12B,e.g., implanted within patient 12B. Lead 346 tunnels through tissue ofpatient 12B from along spinal cord 342 to a subcutaneous tissue pocketor other internal location where IMD 344 is disposed. Although lead 346may be a single lead, lead 346 may include a lead extension or othersegments that may aid in implantation or positioning of lead 346. Inaddition, a proximal end of lead 346 may include a connector (not shown)that electrically couples to a header of IMD 344. Although only one lead346 is shown in FIG. 20, system 340 may include two or more leads, eachcoupled to IMD 344 and directed to similar or different target tissuesites. For example, multiple leads may be disposed along spinal cord 342or leads may be directed to spinal cord 342 and/or other locationswithin patient 12B.

Lead 346 may carry one or more electrodes that are placed adjacent tothe target tissue, e.g., spinal cord 342 for spinal cord stimulation(SCS) therapy. One or more electrodes may be disposed at or near adistal tip of lead 346 and/or at other positions at intermediate pointsalong lead 346, for example. Electrodes of lead 346 transfer electricalstimulation generated by an electrical stimulation generator in IMD 344to tissue of patient 12B. The electrodes may be electrode pads on apaddle lead, circular (e.g., ring) electrodes surrounding the body ofthe lead, conformable electrodes, cuff electrodes, segmented electrodes(e.g., electrodes disposed at different circumferential positions aroundthe lead instead of a continuous ring electrode), or any other type ofelectrodes capable of forming unipolar, bipolar or multipolar electrodecombinations for therapy. In general, ring electrodes arranged atdifferent axial positions at the distal ends of lead 346 will bedescribed for purposes of illustration.

Similar to IMD 324 of FIG. 19, IMD 344 delivers electrical stimulationtherapy to patient 12B via selected combinations of electrodes carriedby lead 346. The target tissue for the electrical stimulation therapymay be any tissue affected by electrical stimulation energy, which maybe in the form of electrical stimulation pulses or waveforms. In someexamples, the target tissue includes nerves, smooth muscle, and skeletalmuscle. In the example illustrated by FIG. 20, the target tissue forelectrical stimulation delivered via lead 346 is tissue proximate spinalcord 342 (e.g., one or more target locations of the dorsal columns orone or more dorsal roots that branch from spinal cord 342). Lead 346 maybe introduced into spinal cord 342 via any suitable region, such as thethoracic, cervical or lumbar regions. Stimulation of dorsal columns,dorsal roots, and/or peripheral nerves (e.g., afferent nerves) may, forexample, prevent pain signals from traveling through spinal cord 342 andto the brain of the patient. Patient 12B may perceive the interruptionof pain signals as a reduction in pain and, therefore, efficacioustherapy results. For treatment of other disorders, lead 346 may beintroduced at any exterior location of patient 12B.

Although lead 346 is described as generally delivering or transmittingelectrical stimulation signals, lead 346 may additionally transmitelectrical signals obtained via electrodes or various sensors carried bythe lead from patient 12B to IMD 344 for monitoring. For example, IMD344 may utilize detected nerve impulses or muscle impulses to diagnosethe condition of patient 12B or adjust the delivered stimulationtherapy. Lead 346 may thus transmit electrical signals to and frompatient 12B.

A user, such as a clinician or patient 12B, may interact with a userinterface of an external programmer 24 to program IMD 344. Programmingof IMD 344 may refer generally to the generation and transfer ofcommands, programs, or other information to control the operation of IMD344. In this manner, IMD 344 may receive the transferred commands andprograms from programmer 24 to control stimulation therapy. For example,external programmer 24 may transmit programs, parameter adjustments,program selections, group selections, user input, or other informationto control the operation of IMD 344, e.g., by wireless telemetry orwired connection.

IMD 344 may be constructed of any polymer, metal, or composite materialsufficient to house the components of IMD 344 (e.g., componentsillustrated in FIG. 22) within patient 12B. In this example, IMD 344 maybe constructed with a biocompatible housing, such as titanium orstainless steel, or a polymeric material such as silicone orpolyurethane, and surgically implanted at a site in patient 12B near thepelvis, abdomen, or buttocks. The housing of IMD 344 may be configuredto provide a hermetic seal for components, such as a rechargeable powersource. In addition, the housing of IMD 344 may be selected of amaterial that facilitates receiving energy to charge rechargeable powersource 18.

As described herein, information may be transmitted between externalprogrammer 24 and IMD 344. Therefore, IMD 344 and programmer 24 maycommunicate via wireless communication using any techniques known in theart. Examples of communication techniques may include, for example,radiofrequency (RF) telemetry and inductive coupling, but othertechniques are also contemplated. In some examples, programmer 24 mayinclude a communication head that may be placed proximate to thepatient's body near the IMD 344 implant site in order to improve thequality or security of communication between IMD 344 and programmer 24.Communication between programmer 24 and IMD 344 may occur during powertransmission or separate from power transmission.

Although IMD 344 is generally described in FIG. 20, techniques of thisdisclosure may also be applicable to external or partially externalmedical device in other examples. For example, IMD 344 may instead beconfigured as an external medical device coupled to one or morepercutaneous medical leads. The external medical device may be achronic, temporary, or trial electrical stimulator. In addition, anexternal electrical stimulator may be used in addition to one or moreIMDs 344 to deliver electrical stimulation described herein.

FIG. 21 is a block diagram of the example IMD 324 of FIG. 19 fordelivering deep brain stimulation therapy. In the example shown in FIG.21, IMD 324 includes processor 350, memory 360, stimulation generator354, sensing module 356, switch module 352, telemetry module 358, sensor359, and power source 370. Memory 360 may include any volatile ornon-volatile media, such as a random access memory (RAM), read onlymemory (ROM), non-volatile RAM (NVRAM), electrically erasableprogrammable ROM (EEPROM), flash memory, and the like. Memory 360 maystore computer-readable instructions that, when executed by processor350, cause IMD 324 to perform various functions. Memory 360 may be astorage device or other non-transitory medium.

In the example shown in FIG. 21, memory 360 stores therapy programs 362,sense electrode combinations and associated stimulation electrodecombinations 368, and feedback control 364 in separate memories withinmemory 360 or separate areas within memory 360. Each stored therapyprogram 362 defines a particular set of electrical stimulationparameters (e.g., a therapy parameter set), such as a stimulationelectrode combination, electrode polarity, current or voltage amplitude,pulse width, and pulse rate. In some examples, individual therapyprograms may be stored as a therapy group, which defines a set oftherapy programs with which stimulation may be generated. Thestimulation signals defined by the therapy programs of the therapy groupmay be delivered together on an overlapping or non-overlapping (e.g.,time-interleaved) basis.

Sense and stimulation electrode combinations 368 stores sense electrodecombinations and associated stimulation electrode combinations. Asdescribed above, in some examples, the sense and stimulation electrodecombinations may include the same subset of electrodes 332, 334, or mayinclude different subsets of electrodes. Thus, memory 360 can store aplurality of sense electrode combinations and, for each sense electrodecombination, store information identifying the stimulation electrodecombination that is associated with the respective sense electrodecombination. The associations between sense and stimulation electrodecombinations can be determined, e.g., by a clinician or automatically byprocessor 350. In some examples, corresponding sense and stimulationelectrode combinations may comprise some or all of the same electrodes.In other examples, however, some or all of the electrodes incorresponding sense and stimulation electrode combinations may bedifferent. For example, a stimulation electrode combination may includemore electrodes than the corresponding sense electrode combination inorder to increase the efficacy of the stimulation therapy. In someexamples, as discussed above, stimulation may be delivered via astimulation electrode combination to a tissue site that is differentthan the tissue site closest to the corresponding sense electrodecombination but is within the same region, e.g., the thalamus, of brain322 in order to mitigate any irregular oscillations or other irregularbrain activity within the tissue site associated with the senseelectrode combination.

Feedback control 364 may include instructions that determine whatfeedback to use when controlling therapy delivery such as which therapyprograms, therapy parameter sets, or individual therapy parameter valuesto select. Feedback control 364 may include associations of identifiedpatient behaviors from video information to respective therapy parametersets intended to treat the identified patient behaviors. In addition, oralternatively, feedback control 364 may include associations of valuesfor one or more sensed patient parameters (e.g., LFP signals or patientaccelerations) to respective therapy parameter sets. The values of thesensed patient parameters may be calibrated or correlated withidentified patient behaviors from captured video information. In anycase, IMD 324 may use the instructions within feedback control 364 toadjust the therapy delivered to patient 12A.

Stimulation generator 354, under the control of processor 350, generatesstimulation signals for delivery to patient 12A via selectedcombinations of electrodes 332, 334. An example range of electricalstimulation parameters believed to be effective in DBS to manage amovement disorder of patient include:

1. Frequency: between approximately 100 Hz and approximately 500 Hz,such as approximately 130 Hz.

2. Voltage Amplitude: between approximately 0.1 volts and approximately50 volts, such as between approximately 0.5 volts and approximately 20volts, or approximately 5 volts.

3. Current Amplitude: A current amplitude may be defined as thebiological load in which the voltage is delivered. In acurrent-controlled system, the current amplitude, assuming a lower levelimpedance of approximately 500 ohms, may be between approximately 0.2milliAmps to approximately 100 milliAmps, such as between approximately1 milliAmps and approximately 40 milliAmps, or approximately 10milliAmps. However, in some examples, the impedance may range betweenabout 200 ohms and about 2 kiloohms.

4. Pulse Width: between approximately 10 microseconds and approximately5000 microseconds, such as between approximately 100 microseconds andapproximately 1000 microseconds, or between approximately 180microseconds and approximately 450 microseconds.

Accordingly, in some examples, stimulation generator 354 generateselectrical stimulation signals in accordance with the electricalstimulation parameters noted above. Other ranges of therapy parametervalues may also be useful, and may depend on the target stimulation sitewithin patient 12A. While stimulation pulses are described, stimulationsignals may be of any form, such as continuous-time signals (e.g., sinewaves) or the like.

In each of the examples described herein, if stimulation generator 354shifts the delivery of stimulation energy between two therapy programs,processor 350 of IMD 324 may provide instructions that cause stimulationgenerator 354 to time-interleave stimulation energy between theelectrode combinations of the two therapy programs, as described incommonly-assigned U.S. patent application Ser. No. 11/401,100 by StevenGoetz et al., entitled, “SHIFTING BETWEEN ELECTRODE COMBINATIONS INELECTRICAL STIMULATION DEVICE,” and filed on Apr. 10, 2006, the entirecontent of which is incorporated herein by reference. In thetime-interleave shifting example, the amplitudes of the electrodecombinations of the first and second therapy program are ramped downwardand upward, respectively, in incremental steps until the amplitude ofthe second electrode combination reaches a target amplitude. Theincremental steps may be different between ramping downward or rampingupward. The incremental steps in amplitude can be of a fixed size or mayvary, e.g., according to an exponential, logarithmic or otheralgorithmic change. When the second electrode combination reaches itstarget amplitude, or possibly before, the first electrode combinationcan be shut off. Other techniques for shifting the delivery ofstimulation signals between two therapy programs may be used, in otherexamples.

Processor 350 may include any one or more of a microprocessor, acontroller, a digital signal processor (DSP), an application specificintegrated circuit (ASIC), a field-programmable gate array (FPGA),discrete logic circuitry, and the functions attributed to processor 350herein may be embodied as firmware, hardware, software or anycombination thereof. Processor 350 controls stimulation generator 354according to therapy programs 54 stored in memory 360 to applyparticular stimulation parameter values specified by one or more ofprograms, such as amplitude, pulse width, and pulse rate.

In the example shown in FIG. 21, the set of electrodes 332 includeselectrodes 332A, 332B, 332C, and 332D, and the set of electrodes 334includes electrodes 334A, 334B, 334C, and 334D. Processor 350 alsocontrols switch module 352 to apply the stimulation signals generated bystimulation generator 354 to selected combinations of electrodes 332,334. In particular, switch module 352 may couple stimulation signals toselected conductors within leads 330, which, in turn, deliver thestimulation signals across selected electrodes 332, 334. Switch module352 may be a switch array, switch matrix, multiplexer, or any other typeof switching module configured to selectively couple stimulation energyto selected electrodes 332, 334 and to selectively sense bioelectricalbrain signals with selected electrodes 332, 334. Hence, stimulationgenerator 354 is coupled to electrodes 332, 334 via switch module 352and conductors within leads 330. In some examples, however, IMD 324 doesnot include switch module 352.

Stimulation generator 354 may be a single channel or multi-channelstimulation generator. In particular, stimulation generator 354 may becapable of delivering a single stimulation pulse, multiple stimulationpulses, or a continuous signal at a given time via a single electrodecombination or multiple stimulation pulses at a given time via multipleelectrode combinations. In some examples, however, stimulation generator354 and switch module 352 may be configured to deliver multiple channelson a time-interleaved basis. For example, switch module 352 may serve totime divide the output of stimulation generator 354 across differentelectrode combinations at different times to deliver multiple programsor channels of stimulation energy to patient 12A.

Although sensing module 356 is incorporated into a common housing withstimulation generator 354 and processor 350 in FIG. 21, in otherexamples, sensing module 356 may be in a separate housing from IMD 324and may communicate with processor 350 via wired or wirelesscommunication techniques. Example bioelectrical brain signals include,but are not limited to, a signal generated from local field potentialswithin one or more regions of brain 28. EEG and ECoG signals areexamples of local field potentials that may be measured within brain 28.However, local field potentials may include a broader genus ofelectrical signals within brain 322 of patient 12A.

Sensor 359 may include one or more sensing elements that sense values ofa respective patient parameter. For example, sensor 359 may include oneor more accelerometers, optical sensors, chemical sensors, temperaturesensors, pressure sensors, or any other types of sensors. Sensor 359 mayoutput patient parameter values that may be used as feedback to controldelivery of therapy. Feedback control 364 may include instructions forprocessor 350 on how to utilize the signals or values provided by sensor359. IMD 324 may include additional sensors within the housing of IMD324 and/or coupled via one of leads 330 or other leads. In addition, IMD324 may receive sensor signals wirelessly from remote sensors viatelemetry module 358, for example. In some examples, one or more ofthese remote sensors may be external to patient (e.g., carried on theexternal surface of the skin, attached to clothing, or otherwisepositioned external to the patient). Each of the sensor signals may becalibrated by identified patient behavior from video information andincorporated in the feedback control of therapy.

Telemetry module 358 supports wireless communication between IMD 324 andan external programmer 24 or another computing device under the controlof processor 350. Processor 350 of IMD 324 may receive, as updates toprograms, values for various stimulation parameters such as amplitudeand electrode combination, from programmer 24 via telemetry module 358.The updates to the therapy programs may be stored within therapyprograms 362 portion of memory 360. Telemetry module 358 in IMD 324, aswell as telemetry modules in other devices and systems described herein,such as programmer 24, may accomplish communication by radiofrequency(RF) communication techniques. In addition, telemetry module 358 maycommunicate with external medical device programmer 24 via proximalinductive interaction of IMD 324 with programmer 24. Accordingly,telemetry module 358 may send information to external programmer 24 on acontinuous basis, at periodic intervals, or upon request from IMD 324 orprogrammer 24.

Power source 370 delivers operating power to various components of IMD324. Power source 370 may include a small rechargeable ornon-rechargeable battery and a power generation circuit to produce theoperating power. Recharging may be accomplished through proximalinductive interaction between an external charger and an inductivecharging coil within IMD 324. In some examples, power requirements maybe small enough to allow IMD 324 to utilize patient motion and implementa kinetic energy-scavenging device to trickle charge a rechargeablebattery. In other examples, traditional batteries may be used for alimited period of time.

Throughout the disclosure, a group of electrodes may refer to anyelectrodes located at the same position along the longitudinal axis ofone or more leads. A group of electrodes may include one or moreelectrodes.

FIG. 22 is a block diagram of example IMD 344 of FIG. 20 for deliveringspinal cord stimulation therapy. IMD 344 may be similar to IMD 324 ofFIG. 21, such as providing similar feedback function for controlling SCStherapy. As shown in the example of FIG. 22, IMD 344 includes processor380, therapy module 384, power source 388, memory 382, and telemetrymodule 386. In other examples, IMD 344 may include a greater or fewernumber of components. For example, IMD 344 may also include one or moresensors such as sensor 359 of FIG. 21.

In general, IMD 344 may comprise any suitable arrangement of hardware,alone or in combination with software and/or firmware, to perform thevarious techniques described herein attributed to IMD 344 and processor380. In various examples, IMD 344 may include one or more processors 30,such as one or more microprocessors, digital signal processors (DSPs),application specific integrated circuits (ASICs), field programmablegate arrays (FPGAs), or any other equivalent integrated or discretelogic circuitry, as well as any combinations of such components. IMD 344also, in various examples, may include a memory 382, such as randomaccess memory (RAM), read only memory (ROM), programmable read onlymemory (PROM), erasable programmable read only memory (EPROM),electronically erasable programmable read only memory (EEPROM), flashmemory, comprising executable instructions for causing the one or moreprocessors to perform the actions attributed to them. Moreover, althoughprocessor 380, therapy module 384, and telemetry module 386 aredescribed as separate modules, in some examples, processor 380, therapymodule 384, and telemetry module 386 may be functionally integrated. Insome examples, processor 380, therapy module 384, and telemetry module386 may correspond to individual hardware units, such as ASICs, DSPs,FPGAs, or other hardware units.

Memory 382 (e.g., a storage device) may store therapy programs or otherinstructions that specify therapy parameter values for the therapyprovided by therapy module 384 and IMD 344. In some examples, memory 382may also store instructions for communication between IMD 344 andprogrammer 24, or any other instructions required to perform tasksattributed to IMD 344. Memory 382 may also store feedback controlinstructions similar to feedback control 364 of IMD 324.

Generally, therapy module 384 may generate and deliver electricalstimulation under the control of processor 380. In some examples,processor 380 controls therapy module 384 by accessing memory 382 toselectively access and load at least one of the stimulation programs totherapy module 384. For example, in operation, processor 380 may accessmemory 382 to load one of the stimulation programs to therapy module384. In such examples, relevant stimulation parameters may include avoltage amplitude, a current amplitude, a pulse frequency, a pulsewidth, a duty cycle, one or more spatial electrode movement patternsthat define the combination of electrodes 346A, 346B, 346C, and 346Dthat therapy module 384 uses to deliver the electrical stimulationsignal. Although therapy module 384 may be configured to generate anddeliver electrical stimulation therapy via one or more of electrodes346A, 346B, 346C, and 346D of lead 346, a different therapy module maybe configured to provide different therapy to patient 12B, such as drugdelivery therapy via a catheter. These and other therapies may beprovided by IMD 344.

An exemplary range of electrical stimulation parameters that may be usedto deliver effective treatment for chronic pain, e.g., when applied tospinal cord 342, are listed below. While stimulation pulses aredescribed, stimulation signals may be of any of a variety of forms suchas sine waves or the like.

Pulse Frequency: between approximately 0.5 Hz and 10,000 Hz. In oneexample, pulse frequency may be between approximately 5 Hz and 250 Hz orbetween approximately 30 Hz and 130 Hz. In other examples, pulsefrequency may be greater than 250 Hz or even greater than 1,000 Hz.Pulse frequencies greater than 1,000 Hz may be considered to be greaterthan the nerve firing potential of affected nerve fibers to inhibitnerve firing. For example, the pulse frequency may be betweenapproximately 1,000 Hz and 10,000 Hz.

Amplitude: between approximately 0.1 volts and 50 volts, more preferablybetween approximately 0.5 volts and 20 volts, and still more preferablybetween approximately 1 volt and 10 volts. In other embodiments, acurrent amplitude may be defined as the biological load in the voltagethat is delivered. For example, the range of current amplitude may bebetween approximately 0.1 milliamps (mA) and 50 mA. In other examples,current amplitude may be between approximately 1.0 mA and 10 mA.

Pulse Width: between about 10 microseconds and 5000 microseconds. Insome examples, the pulse width may be between approximately 100microseconds and 1000 microseconds or between approximately 180microseconds and 450 microseconds. With higher frequency pulses, thepulse width may be smaller to accommodate the increased frequency. Forexample, the pulse width may be between approximately 10 microsecondsand 50 microseconds.

IMD 344 also includes components to receive power from programmer 24 ora separate charging device to recharge a batter of power source 388.Power source 388 may include one or more capacitors, batteries, or otherenergy storage devices. IMD 344 may thus also include an inductive coiland a recharge module (both not shown) configured to manage therecharging session for power source 388. Although inductive coupling maybe used to recharge power source 388, other wireless energy transfertechniques may alternatively be used. Alternatively, power source 388may not be rechargeable.

Processor 380 may also control the exchange of information withprogrammer 24 using telemetry module 386. Telemetry module 386 may beconfigured for wireless communication using radio frequency protocols orinductive communication protocols. Telemetry module 386 may include oneor more antennas configured to communicate with programmer 24, forexample. Processor 380 may transmit operational information and receivetherapy programs or therapy parameter adjustments via telemetry module386. Also, in some examples, IMD 344 may communicate with otherimplanted devices, such as stimulators, control devices, or sensors, viatelemetry module 386. For example, telemetry module 386 may receive userinput, spatial electrode movement patterns, or other commands fromprogrammer 24.

FIG. 23 is a block diagram of external programmer 24 of FIGS. 1, 19, and20. Although programmer 24 may generally be described as a hand-helddevice, programmer 24 may be a larger portable device or a morestationary device. In addition, in other examples, programmer 24 may beincluded as part of an external charging device or include thefunctionality of an external charging device. As illustrated in FIG. 23,programmer 24 may include a processor 390, memory 392, user interface394, telemetry module 396, and power source 398. Memory 392 may storeinstructions that, when executed by processor 390, cause processor 390and external programmer 24 to provide the functionality ascribed toexternal programmer 24 throughout this disclosure. For example,processor 390 may be configured to select therapy parameters in responseto receiving an indication of an identified patient behavior from videoinformation 50 captured from patient 12 and/or receiving sensed patientparameter values calibrated to be representative of patient behavior.

In general, programmer 24 comprises any suitable arrangement ofhardware, alone or in combination with software and/or firmware, toperform the techniques attributed to programmer 24, and processor 390,user interface 394, and telemetry module 396 of programmer 24. Invarious examples, programmer 24 may include one or more processors, suchas one or more microprocessors, DSPs, ASICs, FPGAs, or any otherequivalent integrated or discrete logic circuitry, as well as anycombinations of such components. Programmer 24 also, in variousexamples, may include a memory 392, such as RAM, ROM, PROM, EPROM,EEPROM, flash memory, a hard disk, a CD-ROM, comprising executableinstructions for causing the one or more processors to perform theactions attributed to them. Moreover, although processor 390 andtelemetry module 396 are described as separate modules, in someexamples, processor 390 and telemetry module 396 are functionallyintegrated. In some examples, processor 390 and telemetry module 396correspond to individual hardware units, such as ASICs, DSPs, FPGAs, orother hardware units.

Memory 392 (e.g., a storage device) may store instructions that, whenexecuted by processor 390, cause processor 390 and programmer 24 toprovide the functionality ascribed to programmer 24 throughout thisdisclosure. For example memory 392 may include instructions that causeprocessor 390 to obtain a parameter set from memory, select a spatialelectrode movement pattern, or receive a user input and send acorresponding command to IMD 14, or instructions for any otherfunctionality. In addition, memory 392 may include a plurality ofprograms, where each program includes a parameter set that definesstimulation therapy

User interface 394 may include a button or keypad, lights, a speaker forvoice commands, a display, such as a liquid crystal (LCD),light-emitting diode (LED), or organic light-emitting diode (OLED). Insome examples the display may be a touch screen. User interface 394 maybe configured to display any information related to the delivery ofstimulation therapy, identified patient behaviors, sensed patientparameter values, patient behavior criteria, or any other suchinformation. User interface 394 may also receive user input via userinterface 394. The input may be, for example, in the form of pressing abutton on a keypad or selecting an icon from a touch screen. The inputmay request starting or stopping electrical stimulation, the input mayrequest a new spatial electrode movement pattern or a change to anexisting spatial electrode movement pattern, of the input may requestsome other change to the delivery of electrical stimulation.

Telemetry module 396 may support wireless communication between IMD 14and programmer 24 under the control of processor 390. Telemetry module396 may also be configured to communicate with another computing devicevia wireless communication techniques, or direct communication through awired connection. In some examples, telemetry module 396 may besubstantially similar to telemetry module 358 of IMD 324 describedherein, providing wireless communication via an RF or proximal inductivemedium. In some examples, telemetry module 396 may include an antenna,which may take on a variety of forms, such as an internal or externalantenna.

Examples of local wireless communication techniques that may be employedto facilitate communication between programmer 24 and IMD 324 include RFcommunication according to the 802.11 or Bluetooth specification sets orother standard or proprietary telemetry protocols. In this manner, otherexternal devices may be capable of communicating with programmer 24without needing to establish a secure wireless connection. As describedherein, telemetry module 396 may be configured to transmit a spatialelectrode movement pattern or other stimulation parameter values to IMD324 for delivery of stimulation therapy.

In some examples, selection of therapy parameters or therapy programsmay be transmitted to a medical device (e.g., IMD 324 or IMD 344) fordelivery to patient 12. In other examples, the therapy may includemedication, activities, or other instructions that patient 12 mustperform themselves or a caregiver perform for patient 12. For example,in response to receiving an indication of an identified patient behavioror sensed patient parameter value, processor 390 may select a medicationand/or dosage of the medication to treat the movement disorder.Processor 390 may control user interface 394 to display such informationto the user. In some examples, programmer 24 may provide visual,audible, and/or tactile notifications that indicate there are newinstructions. Programmer 24 may require receiving user inputacknowledging that the instructions have been completed in someexamples.

In other examples, programmer 24 may be configured to receive user inputor indications of user input indicating the type of medication, dosage,and/or time the medication was taken by patient 12. Programmer 24 maycreate a log of the medications or other therapies manually taken bypatient 12 in this manner. In some examples, programmer 24 may adjustelectrical stimulation therapy and/or drug delivery therapy based on themedication that patient 12 has consumed. For example, programmer 24 maydetermine (e.g., adjust or maintain) one or more electrical stimulationtherapy parameters based on the indication of the drug dosage taken bypatient 12. This adjustment may be made due to physiological alterationsof patient 12 by the medication.

FIG. 24 is a block diagram illustrating example system 400 that includesnetworked server 44 coupled to IMD 324 (and/or IMD 344) and one or morecomputing devices 404 via network 42. System 400 may be similar tosystem 40 of FIG. 3. As shown in FIG. 24, server 44 (e.g., a networkedexternal computing device) and one or more computing devices 404A-404Nthat are coupled to the IMD 324 and programmer 24 shown in FIG. 19 via anetwork 42. Network 42 may be generally used to transmit videoinformation 50, behavior information 52, therapy parameter information,or any other data between IMD 324 programmer 24, server 44 and/orcomputing devices 404.

In some examples, the information transmitted by IMD 324 may allow aclinician or other healthcare professional to monitor patient 12remotely. In some examples, IMD 324 may use a telemetry module tocommunicate with programmer 24 via a first wireless connection, and tocommunicate with access point 402 via a second wireless connection,e.g., at different times. In the example of FIG. 24, access point 402,programmer 24, server 44 and computing devices 404A-404N areinterconnected, and able to communicate with each other through network42. In some cases, one or more of access point 402, programmer 24,server 44 and computing devices 404A-404N may be coupled to network 42via one or more wireless connections. IMD 324, programmer 24, server 44,and computing devices 404A-404N may each comprise one or moreprocessors, such as one or more microprocessors, DSPs, ASICs, FPGAs,programmable logic circuitry, or the like, that may perform variousfunctions and operations, such as those described herein.

Access point 402 may comprise a device that connects to network 42 viaany of a variety of connections, such as telephone dial-up, digitalsubscriber line (DSL), or cable modem connections. In other examples,access point 402 may be coupled to network 42 through different forms ofconnections, including wired or wireless connections. In some examples,access point 402 may be co-located with patient 14 and may comprise oneor more programming units and/or computing devices (e.g., one or moremonitoring units) that may perform various functions and operationsdescribed herein. For example, access point 402 may include ahome-monitoring unit that is co-located with patient 14 and that maymonitor the activity of IMD 324. In some examples, server 44 orcomputing devices 404 may control or perform any of the variousfunctions or operations described herein.

In some cases, server 44 may be configured to provide a secure storagesite for archival of video information, therapy parameters, patientparameters, or other data that has been collected and generated from IMD324 and/or programmer 24. Network 42 may comprise a local area network,wide area network, or global network, such as the Internet. The systemof FIG. 24 may be implemented, in some aspects, with general networktechnology and functionality similar to that provide by the MedtronicCareLink® Network developed by Medtronic, Inc., of Minneapolis, Minn.

FIG. 25 is a flow diagram illustrating an example process forcontrolling therapy according to patient behavior identified from videoinformation 50. The process of FIG. 25 will be described with respect toprocessors 80 of networked server 44 and processor 390 of programmer 24.However, one or more aspects of the process may be performed by otherdevices such as networked server 44, IMD 324, IMD 344, or computingdevices 404.

As shown in FIG. 25, networked server 44 may be configured to performidentification of patient behavior using video information 50 asdescribed herein (410). The identification of patient behavior may beperformed as an on-going process to provide feedback for controllingtherapy to patient 12A, for example. In other words, video informationmay be continually, or periodically, capturing new video information ofpatient 12A. If programmer 24 does not receive any indication ofabnormal behavior (“NO” branch of block 412), networked server 44continues to identify patient behavior (410). If programmer 23 doesreceive an indication of abnormal behavior (“YES” branch of block 412),programmer 24 checks to determine if therapy is currently beingdelivered for the identified patient behavior (414).

If therapy is not being delivered to manage the identified therapy (“NO”branch of block 414), programmer 24 may select therapy parametersassociated with the detected abnormal behavior (i.e., the identifiedpatient behavior) (416). Programmer 24 may transmit the therapyparameters to IMD 324 such that IMD 324 may control therapy according tothe selected therapy parameters (420). If therapy is currently beingdelivered to manage the identified therapy (“YES” branch of block 414),programmer 24 may adjust one or more therapy parameters to attempt todecrease the severity or presence of the identified behavior (418).Programmer 24 may then transmit the updated therapy parameters to IMD324 such that IMD 324 may control therapy according to the selectedtherapy parameters (420).

In some examples, programmer 24 may directly control IMD 324 to delivertherapy according to the selected parameters. In other examples, IMD 324may select therapy parameters based on the identified patient behaviorfeedback and control therapy delivery according to the selected therapyparameters instead of programmer 24. Alternatively, networked server 44may select therapy parameters and/or control therapy delivery. In anycase, patient behavior identified from captured video information may beused as feedback to control the delivery of therapy to patient 12A. Inaddition, therapy parameters may be adjusted if an identified behaviorpersists even though therapy is currently being delivered to manage thespecific identified behavior. This adjustment may be made to improve theefficacy of the delivered therapy.

In other examples, a device (e.g., IMD 324, programmer 24, or networkeddevice 44) may be configured to determine a therapy for a patient from apatient behavior identified from both video information and the valuesof one or more patient parameters. The patient parameters may bemonitored by one or more non-video sensors (e.g., accelerometers,gyroscopes, pressure sensors, or temperature sensors), such that thesenon-video sensors may generate and transmit a value of the respectivepatient parameter. Therefore, the values of these patient parameters maybe used in combination with video information to identify a behavior ofthe patient. A device may also use the identified behavior to adjust,select, and/or manage therapy delivered to the patient.

For example, IMD 324 may include one or more processors (e.g., processor350) configured to obtain one or more values of a patient parametersensed during the period of time. The value of the patient parametermay, for example, be generated by sensor 359 (e.g., a non-video sensor)or any other non-video sensors. Processor 350 may also obtain videoinformation regarding movement of the patient during the same period oftime in which the value of the patient parameter was detected. Processor350 may then determine, based on video information captured during theperiod of time and the one or more values of the patient parameter, thepatient behavior for the period of time. Responsive to determining thepatient behavior, processors 350 may select the appropriate therapy(e.g., select or adjust one or more therapy parameters) for delivery tothe patient to treat the determined behavior. In some examples, otherdevices (e.g., programmer 24 or networked server 44) may contribute tothe analysis of the video information, determination of the patientbehavior, and/or generation of patient parameter values used to selectthe appropriate therapy.

FIG. 26 is a conceptual diagram illustrating example system 422 thatincludes sensors configured to sense one or more patient parametersindicative of a patient behavior and monitored to control therapy.System 422 includes an implantable medical device (IMD) 424 (e.g., suchas IMD 324 or IMD 344) that monitors and/or delivers a therapy topatient 12A. IMD 424 delivers the therapy according to a set of therapyparameters, i.e., a set of values for a number of parameters that definethe therapy delivered according to that therapy parameter set, which mayalso be referred to as a therapy program. In addition, IMD 424 mayincorporate the values of sensed patient parameters from one or moresensors located at respective locations of patient 12C (e.g., patient12). Programmer 24 may be used to communicate with IMD 424 and/or one ormore of activity sensors 426.

IMD 424 includes or is coupled to activity sensors 426A-426D(collectively, “activity sensors 426”) that detect activity or motion ofpatient 12A. In one embodiment, activity sensors 426 may compriseaccelerometers, gyroscopes, global position system (GPS) units and anyother sensors that detect motions of patient 12A. Activity sensors 426may be multi-axis accelerometers or single-axis accelerometers. Asillustrated in FIG. 1, activity sensors 426 may be located at differentlocations on patient 12A. Activity sensor 426A may, for example, belocated on or within a housing of IMD 424. Activity sensor 426B may belocated on or within a lead that extends from IMD 424 into the brain ofpatient 12A. Alternatively, activity sensor 426B may be a stand-alonesensor, i.e., not coupled to any lead, that is located externally orimplanted within a head of patient 12A. Activity sensor 426C is locatedat a limb of patient 12A. In the example illustrated in FIG. 1, activitysensor 426C is located at an arm and, more particularly, at a wrist orhand of patient 12A. Activity sensor 426C may, however, be located on adifferent limb of patient 12A, such as on the other arm or on a leg.Activity sensors may be worn externally, e.g., on a piece of clothing ora watch, or implanted at the specific locations within patient 12A.Although the example illustrated in FIG. 26 includes three activitysensors, system 422 may include more or less sensors, located atdifferent locations on patient 12C. The techniques of this disclosuremay be utilized in any system that includes two or more activity sensorsat different locations of patient 12C.

Activity sensors 426 detect activity or motion at respective locationsof patient 12C. In particular, as patient 12C moves, activity sensors426 detect the motion of the respective locations of the body of patient12C. Activity sensors 426 may, for example, generate signals as afunction the motion of the respective portion of the body in terms ofmagnitude and direction. In the example illustrated in FIG. 26, activitysensor 426A detects motion of a torso of patient 12C, activity sensor426B detects motion of a head of patient 12C and activity sensor 426Cdetects motion of the limb of patient 12C.

IMD 424 receives the signals from activity sensors 426. IMD 424 mayreceive the signals from at least a portion of activity sensors 426 viaa wired connection. For example, IMD 424 may receive the signals fromactivity sensor 426A and 426B, if coupled to a lead, via a wiredconnection. Alternatively, IMD 424 may receive the signals from at leasta portion of activity sensors 426 via wireless telemetry. For example,IMD 424 may receive a signal from activity sensor 426C via wirelesstelemetry. In this case, activity sensor 426C may include transmitcircuitry to transmit the signals to IMD 424. Alternatively, one or moreof activity sensors 426 may transmit the signals to a separatemonitoring device, which relays the measurements to IMD 424. Activitysensor 426D may be located on a leg or foot of patient 12C.

IMD 424 may analyze the signals from activity sensors 426 to determinewhen any of the values of the patient parameters indicate a need tocontrol therapy delivery. One or more of the sensed patient parametervalues from activity sensors 426 may thus be used to indicate when apatient behavior may be occurring. In some examples, each sensor mayprovide an individual patient parameter value that is analyzed. In otherexamples, IMD 424 compares signals of at least two of activity sensors426 to determine a relative motion between activity sensors 426, andanalyzes the relative motion between activity sensors 426. The relativemotion represents the manner in which one location of patient 12C movesrelative to another location of patient 12C. Using relative motion,therefore, provides a different frame of reference, thus providing formore accurate detection of certain relevant patient motion, such assymptoms of a movement disorder. In this manner one of the patientparameters monitored for indications of patient behavior may be therelative motion between two or more activity sensors 426. In someexamples, the relative motions between each pair of activity sensors 426may be separate patient parameters and calibrated based on theidentified patient behavior.

Although four activity sensors 426 are shown in the example of FIG. 26,one, two, three, or more than four activity sensors may be used toprovide patient parameter values. Other sensors may also oralternatively be implanted or attached to patient 12C. Such sensors mayinclude temperature sensors. EMG sensors and strain or force gauges todetect muscle movement or flexation, or external electrodes forelectrogram generation. In addition, one or more sensors may be locatedon furniture such as a bed or chair. For example, a hospital bed mayinclude one or more pressure sensors that provide a patient parametervalue indicative of patient motion that can be correlated to identifiedpatient behavior from video information captured at the same time. Anyand all of these patient parameters may be used as feedback to controltherapy delivered to patient 12C.

FIG. 27 is a block diagram of an example sensor 426C that senses apatient parameter indicative of patient behavior. Sensor 426C may besimilar to sensors 426B, 426D, or any other sensor described herein thatmay not be included within another device. As illustrated in FIG. 27,sensor 426C may include a processor 430, memory 432, sensor module 434,communication module 436, and power source 438. Memory 432 may storeinstructions that, when executed by processor 430, cause processor 430to control the sensing of sensor module 434, communication viacommunication module 436, and/or the storage and retrieval of data frommemory 432.

In general, sensor 426C comprises any suitable arrangement of hardware,alone or in combination with software and/or firmware, to perform thetechniques attributed to sensor 426C, and processor 430, sensor module434, and communication module 436 of sensor 426C. In various examples,sensor 426C may include one or more processors, such as one or moremicroprocessors, DSPs, ASICs, FPGAs, or any other equivalent integratedor discrete logic circuitry, as well as any combinations of suchcomponents. Sensor 426C also, in various examples, may include a memory432 (e.g., a storage device), such as RAM, ROM, PROM, EPROM, EEPROM,flash memory, a hard disk, a CD-ROM, comprising executable instructionsfor causing the one or more processors to perform the actions attributedto them. Moreover, although processor 430 and communication module 436are described as separate modules, in some examples, processor 430 andcommunication module 436 are functionally integrated. In some examples,processor 430 and communication module 436 correspond to individualhardware units, such as ASICs, DSPs, FPGAs, or other hardware units.

Memory 432 (e.g., a storage device) may store instructions that, whenexecuted by processor 432, cause processor 432 and sensor 426C toprovide the functionality ascribed to sensor 426C such as generatingvalues of the patient parameter and transmitting the generated values toanother device such as IMD 424 and/or programmer 24. Sensor module 434may include any components, membranes, devices, etc. configured totranslate mechanical, chemical, electromagnetic signal into anelectrical signal for use by processor 430. For example, sensor module434 may include one or more accelerometers that translate mechanicalacceleration into an electrical signal representative of theacceleration.

Communication module 436 may support wireless or wired communicationaccording to any protocol known in the art or described herein. Powersource 438 may include any rechargeable or non-rechargeable battery,energy scavenging device, or any other such element configured toprovide operational power to activity sensor 426C.

FIG. 28 is a graph illustrating a correlation of determined patientmovement from video information to patient parameters sensed during thesame period of time during which video information 50 was captured. Asshown in graph 440, signal 442 may be a calculated velocity of ananatomical region over time and a plurality of captured video frames.Networked server 44, for example, may identify which patient behaviorsoccurred over time when the video information was captured, as describedherein. In this manner, networked server 44 may be configured tocalculate, from video information 50 captured during a period of time,one or more movement parameters of patient 12C and identify, based onthe one or more movement parameters, each of one of a plurality ofpatient behaviors that occurred during the period of time. As shown inFIG. 28, networked server 44 has identified dyskinesia as occurringbetween times 448A and 448B and bradykinesia as occurring between times450A and 450B.

During the same period of time in which video information 50 wascaptured of patient 12C, for example, values of patient parameters wereobtained that also reflect some aspect of the patient behavior. In theexample of FIG. 28, accelerations from an accelerometer were obtainedand processed to calculate an acceleration signal 444 and a frequencysignal 446. Frequency signal 446 may be indicative of the frequency withwhich the accelerations oscillated back and forth due to patientmovement. Networked server 44 may correlate acceleration signal 444 andfrequency signal 446 to the identified patient behaviors. This processmay be referred to as calibrating the patient parameters to respectivepatient behaviors.

For example, networked server 44 may determine thresholds at which thevalues of each patient parameter are indicative of the respectivebehaviors. Acceleration signal 444 is shown in “g's” or the accelerationdue to gravity. Based on the magnitude of acceleration signal 444,networked server 44 may determine threshold 452A as indicative ofdyskinesia because acceleration signal 444 included magnitudes abovethreshold 452A between times 448A and 448B. Based on the magnitude ofacceleration signal 444, networked server 44 may determine threshold452B as indicative of bradykinesia because acceleration signal 444included magnitudes above threshold 452B between times 450A and 450B.Networked server 44 may also set threshold 452A as a maximum thresholdfor bradykinesia such as amplitudes between thresholds 452A and 452B areinterpreted as indicative of bradykinesia.

Frequency signal 446 is shown in Hz over time. Based on the magnitude offrequency signal 446, networked server 44 may determine threshold 454Aas indicative of dyskinesia because frequency signal 446 includedmagnitudes above threshold 454A between times 448A and 448B. Based onthe magnitude of frequency signal 446, networked server 44 may determinethreshold 454B as indicative of bradykinesia because frequency signal446 included frequencies above threshold 454B between times 450A and450B. Networked server 44 may also set threshold 454A as a maximumthreshold for bradykinesia such as frequencies between thresholds 454Aand 454B are interpreted as indicative of bradykinesia.

The example of FIG. 28 is just one technique to calibrate values ofpatient parameters with identified patient behaviors from videoinformation 50. In some examples, the thresholds may be based on achange in patient parameter value instead of an absolute value of thepatient parameter. In other examples, thresholds may not be used.Instead, actual values of the patient parameter value may be matched toeach type of patient behavior. In some examples, networked server 44 maybe configured to correlate sensed parameter values obtained prior to thepatient behavior being identified in time to the patient behavior. Insome situations, a patient parameter value may “lead” or be indicativeof the patient behavior. In this manner, one or more patient parametersmay be predictive of observable patient behaviors.

FIG. 29 is a flow diagram illustrating an example process forassociating sensed patient parameter values with patient behavioridentified from video information 50. Although FIG. 29 will be describedwith respect to processors 80 of networked server 44 and processor 350of IMD 324, other devices or combination of devices may perform similarfunctions such as calibrating patient parameters to identified patientbehaviors from video information.

As shown in FIG. 29, processors 80 may obtain video information 50 ofpatient 12A captured by camera 26 during a period of time (460).Processors 80 then identify any patient behavior that occurred duringthe period of time from the video frames of video information 50 (462).Processors 80 also obtain sensor data from a sensor (e.g., sensor 359)generated for a patient parameter and during the time period of thevideo information (464). Processors 80 may then select patient parametervalues from the sensor data that are indicative, or representative, ofthe identified patient behavior from the video information (466).Processors 80 may then associate the identified patient behavior andcorresponding therapy parameter values with the selected patientparameter values (468). This correlation (or calibration) may, in someexamples, include the determination of one or more thresholds or rangeswithin which the representative patient parameter values will occur.

Once the correlations have been made, networked server 44 may store thecorrelations in repository 46 and transmit the correlations toprogrammer 24 and/or IMD 324 for use as feedback to control therapy.Processor 350 of IMD 324 may then monitor the subsequent patientparameter data from the sensor (470). If processor 350 does not detect apatient parameter value indicative of any patient behavior (“NO” branchof block 472), processor 350 may continue to monitor the data from thesensor. If processor 350 detects a patient parameter value indicative ofa behavior (“YES” branch of block 472), processor 350 may select the oneor more therapy parameters associated with the detected patientparameter values and control therapy delivery using the selected therapyparameters (474).

The example of FIG. 29 may be used for monitoring multiple differentpatient parameters as well. For example, processor 350 may monitor thevalues of respective patient parameters and select the therapyparameters associated with the patient parameter values associated withthe values that are sensed. In some examples, if multiple patientparameter values are indicative of a particular behavior, each of thepatient parameters might need to be indicative of the same behaviorbefore processor 350 will select the associated therapy parameters.Although IMD 324 is described as monitoring the patient parametervalues, programmer 24, networked server 44, and/or another computingdevice may monitor one or more patient parameters.

FIG. 30 is a flow diagram illustrating an example process for requestingnew video information and updating the associations between sensedpatient parameter values and patient behaviors identified from the newvideo information. At some point during therapy, one or more therapiesmay no longer be as effective as they once were. In addition, patientdisease progression may cause changes to the severity, duration, or typeof exhibited behavior. Therefore, it may be desirable to capture newvideo information and update the correlations between patient behaviorsand sensed patient parameter values. Although FIG. 30 will be describedwith respect to processors 80 of networked server 44 and processor 350of IMD 324, other devices or combination of devices may perform similarfunctions such as calibrating patient parameters to identified patientbehaviors from video information.

Processor 350 of IMD 324 may detect a patient behavior from sensor dataduring a time period (480). If the appropriate therapy for the behaviorwas not being delivered when the behavior was detected (“NO” branch ofblock 482), processor 350 may select therapy parameters associated withthe behavior (484) and continue to detect patient behavior (480). If theappropriate therapy for the detected behavior was being delivered whenthe behavior was detected (“YES” branch of block 482), processor 350 maygenerate a notification requesting new video information capturingmotion of patient 12A (486). Processor 350 may transmit the notificationfor display to a user (e.g., patient 12A or clinician 22) such thatvideo information can be captured (488). The user or clinician may thenarrange for new video information to be captured of patient 12A. Ifcamera 26 is already in place to capture video, processor 350 maytransmit the notification to computing device 30 for initiation of videocapture.

If networked server 44 has not received new video information or updatedassociations between the patient parameter values and the therapyparameters (“NO” branch of block 490), processor 350 may be instructedto select a default therapy (492) and wait for updated instructions. Thedefault therapy may be a known acceptable therapy, a minimal therapybased on the last identified behavior, or even a therapy selected by thepatient or clinician. If networked server 44 receives new videoinformation captured from patient 12A (“YES” branch of block 490),networked server 44 may analyze the new video information to identifyany patient behaviors, obtain new sensor data, and correlate the patientparameter values of the sensor data to the newly identified patientbehaviors (494). Networked server 44 may then update the associationsbetween the patient parameter values of the new sensor data and thetherapy parameter values for the identified patient behaviors (496).

Although networked server 44 may initially identify patent behaviors byusing only video information, networked server 44 may alternativelyobtain patient parameter data from various other sources (e.g., anysensors described herein) and determine one or more patient behaviorsfrom a combination of the video information and the obtained patientparameter data. As one example, networked server 44 may use videoinformation in conjunction with patient parameter data fromaccelerometers, gyroscopes or GPS devices to distinguish between tremorduring patient rest, tremor during patient action, or tremor while apatient is attempting to hold a static posture. The patient parameterdata used in the initial behavior identification process may then alsobe associated with the identified behavior for use in detectingsubsequent instances of the behavior. A determined behavior may then beused to selecting corresponding therapy parameters as discussed herein.Thus, in some examples, networked server 44 may be configured toidentify one or more patient behaviors from video information andinformation obtained from other sources, such as one or more sensorsfrom which patient parameters are derived. In a similar manner,networked server 44 (or any other similarly configured device) maydetect a previously-identified patient behavior by monitoring bothpatient parameter data as well as video data. For instance, a patientmay have one or more video systems installed in his or her home. Whilethe patient remains in this environment, networked server 44 may obtainvideo information from the one or more video systems and obtain patientparameter values detected by one or more non-video sensors (e.g.,accelerometers, pressure sensors, etc.) in an on-going or intermittentbasis to subsequently determine one or more behaviors of the patient.For example, a video system may transfer video information wirelessly,either in raw format or in a processed format, to IMD 324, 344,programmer 24, and/or networked server 44 for use in determining thepatient behavior. The one or more patient parameters may be combinedwith the video information to determine the patient behavior, or thepatient parameters may be used to confirm a patient behavior determinedfrom the video information. Any devices described herein may, in someexamples, adjust therapy from the determined patient behavior

As discussed herein, networked server 44, IMD 324, or programmer 24, forexample, may periodically obtain and/or request new video informationfrom one or more video systems. The new video information may then beused to re-identify patient behaviors following the initialidentification, or calibration, of the patient behaviors. Subsequentlydetermined patient behaviors (e.g., re-identified patient behaviors) maybe used by one or more systems to track changes in one or more symptomsand/or disease progression. Additionally, the determined patientbehaviors may be used to adjust therapy based on the stage of thedisease. In some cases, networked device 44 (or another device such asprogrammer 24) may generate a notification based on one of moredetermined patient behaviors. The notification may instruct the patientto take one or more actions, such as take a medication, perform anactivity, call a clinician, or schedule an appointment with a clinician.Networked server 44 may also transmit the notification to the clinicianor otherwise follow up with the patient regarding the determined patientbehavior. In this manner, determination of patient behaviors from videoinformation (and patient parameters in some examples) can be used by adevice or system to identify symptom or disease trends for the patientand take other appropriate actions (e.g., adjust therapy or provideinstructions to a patient) in response to various behaviors that mayindicate one or more disease states.

The disclosure contemplates computer-readable storage media comprisinginstructions to cause a processor to perform any of the functions andtechniques described herein. The computer-readable storage media maytake the example form of any volatile, non-volatile, magnetic, optical,or electrical media, such as a RAM, ROM, NVRAM, EEPROM, or flash memorythat is tangible. The computer-readable storage media may be referred toas non-transitory. A programmer, such as patient programmer or clinicianprogrammer, or other computing device may also contain a more portableremovable memory type to enable easy data transfer or offline dataanalysis.

The techniques described in this disclosure, including those attributedto server 44 and programmer 24, and various constituent components, maybe implemented, at least in part, in hardware, software, firmware or anycombination thereof. For example, various aspects of the techniques maybe implemented within one or more processors, including one or moremicroprocessors, DSPs, ASICs, FPGAs, or any other equivalent integratedor discrete logic circuitry, as well as any combinations of suchcomponents, embodied in programmers, such as physician or patientprogrammers, stimulators, remote servers, or other devices. The term“processor” or “processing circuitry” may generally refer to any of theforegoing logic circuitry, alone or in combination with other logiccircuitry, or any other equivalent circuitry.

Such hardware, software, firmware may be implemented within the samedevice or within separate devices to support the various operations andfunctions described in this disclosure. For example, any of thetechniques or processes described herein may be performed within onedevice or at least partially distributed amongst two or more devices,such as between programmer 24 and server 44. In addition, any of thedescribed units, modules or components may be implemented together orseparately as discrete but interoperable logic devices. Depiction ofdifferent features as modules or units is intended to highlightdifferent functional aspects and does not necessarily imply that suchmodules or units must be realized by separate hardware or softwarecomponents. Rather, functionality associated with one or more modules orunits may be performed by separate hardware or software components, orintegrated within common or separate hardware or software components.

The techniques described in this disclosure may also be embodied orencoded in an article of manufacture including a computer-readablestorage medium encoded with instructions. Instructions embedded orencoded in an article of manufacture including a computer-readablestorage medium encoded, may cause one or more programmable processors,or other processors, to implement one or more of the techniquesdescribed herein, such as when instructions included or encoded in thecomputer-readable storage medium are executed by the one or moreprocessors. Example computer-readable storage media may include randomaccess memory (RAM), read only memory (ROM), programmable read onlymemory (PROM), erasable programmable read only memory (EPROM),electronically erasable programmable read only memory (EEPROM), flashmemory, a hard disk, a compact disc ROM (CD-ROM), a floppy disk, acassette, magnetic media, optical media, or any other computer readablestorage devices or tangible computer readable media. Thecomputer-readable storage medium may also be referred to as storagedevices.

In some examples, a computer-readable storage medium comprisesnon-transitory medium. The term “non-transitory” may indicate that thestorage medium is not embodied in a carrier wave or a propagated signal.In certain examples, a non-transitory storage medium may store data thatcan, over time, change (e.g., in RAM or cache).

Various examples have been described herein. Any combination of thedescribed operations or functions is contemplated. These and otherexamples are within the scope of the following claims.

1: A method comprising: receiving, from a computing device, anindication of a patient behavior for a period of time, wherein thepatient behavior is determined by the computing device from videoinformation captured during the period of time; determining, based onthe indication of the patient behavior and by one or more processors, atherapy to be delivered to the patient; and outputting the determinationfor at least one of delivery of the therapy to the patient and displayto the user. 2: The method of claim 1, wherein determining the therapyto be delivered comprises selecting, by the one or more processors, oneor more therapy parameter values that at least partially define thetherapy 3: The method of claim 1, wherein the period of time is a firstperiod of time and the therapy is a first therapy, and wherein themethod further comprises: receiving an indication of user inputidentifying insufficient therapy; requesting capture of supplementalvideo information of patient motion during a second period of timedifferent than the first period; receiving an indication of patientbehavior during the second period of time; and determining, based on theindication of patient behavior during the second period of time, asecond therapy different than the first therapy. 4: The method of claim1, wherein determining the therapy comprises selecting one of aplurality of predetermined therapies, each of the plurality of therapiescorresponding to at least one of a plurality of patient behaviorsassociated with a respective one or more movement parameters generatedfrom the video information, and wherein the patient behavior is one ofthe plurality of patient behaviors. 5: The method of claim 1, furthercomprising: calculating, from the video information captured during theperiod of time, one or more movement parameters of the patient;identifying, based on the one or more movement parameters, each of oneof a plurality of patient behaviors that occurred during the period oftime; obtaining values of a patient parameter sensed during the periodof time; and correlating the values of the patient parameter to each ofthe one of the plurality of patient behaviors that occurred during theperiod of time. 6: The method of claim 5, further comprising: subsequentto the correlation, obtaining a sensed patient parameter value; andidentifying one or more of the plurality of patient behaviors associatedwith the sensed patient parameter value, and wherein determining thetherapy comprises, determining, based on the identification, the therapyto be delivered to the patient. 7: The method of claim 5, wherein thepatient parameter is a first patient parameter, and wherein the methodfurther comprises: obtaining values of a second patient parameter sensedduring the period of time; correlating the values of the second patientparameter to each of the one of the plurality of patient behaviors thatoccurred during the period of time; determining that the values of boththe first patient parameter and the second patient parameter areassociated with the same patient behavior; and identifying the samepatient behavior as the one or more of the plurality of patientbehaviors. 8: The method of claim 5, wherein the patient parametercomprises one of a local field potential, an electroencephalogram, anelectrogram, an electromyogram, an acceleration of the patient, arelative motion between two locations of the patient, blood pressure,heart rate, patient speech pattern, patient breathing pattern, sleepindication, or chemical. 9: The method of claim 1, further comprising:obtaining, by the computing device, one or more values of a patientparameter sensed during the period of time; and determining, based onvideo information captured during the period of time and the one or morevalues of the patient parameter, the patient behavior for the period oftime. 10: The method of claim 1, further comprising delivering, by animplantable medical device, the therapy to the patient. 11: The methodof claim 1, wherein the therapy is one of electrical stimulationtherapy, drug delivery therapy, or oral medication therapy. 12: Themethod of claim 1, wherein the patient behavior is a movement disorder.13: The method of claim 1, wherein the one or more processors are housedwithin one of a networked server, a medical device programmer, and animplantable medical device. 14: A system comprising: one or moreprocessors configured to: receive, from a computing device, anindication of a patient behavior for a period of time, wherein thepatient behavior is determined by the computing device from videoinformation captured during the period of time; determine, based on theindication of the patient behavior, a therapy to be delivered to thepatient; and output the determination for at least one of delivery ofthe therapy to the patient and display to the user. 15: The system ofclaim 14, wherein the one or more processors are configured to determinethe therapy by selecting one or more therapy parameter values that atleast partially define the therapy. 16: The system of claim 14, whereinthe period of time is a first period of time and the therapy is a firsttherapy, and wherein the one or more processors are configured to:receive an indication of user input identifying insufficient therapy;request capture of supplemental video information of patient motionduring a second period of time different than the first period; receivean indication of patient behavior during the second period of time; anddetermine, based on the indication of patient behavior during the secondperiod of time, a second therapy different than the first therapy. 17:The system of claim 14, wherein the one or more processors areconfigured to determine the therapy by selecting one of a plurality ofpredetermined therapies, each of the plurality of therapiescorresponding to at least one of a plurality of patient behaviorsassociated with a respective one or more movement parameters generatedfrom the video information, and wherein the patient behavior is one ofthe plurality of patient behaviors. 18: The system of claim 14, whereinthe one or more processors are configured to: calculate, from the videoinformation captured during the period of time, one or more movementparameters of the patient; identify, based on the one or more movementparameters, each of one of a plurality of patient behaviors thatoccurred during the period of time; obtain values of a patient parametersensed during the period of time; and correlate the values of thepatient parameter to each of the one of the plurality of patientbehaviors that occurred during the period of time. 19: The system ofclaim 18, wherein the one or more processors are configured to:subsequent to the correlation, obtain a sensed patient parameter value;and identify one or more of the plurality of patient behaviorsassociated with the sensed patient parameter value; and determine, basedon the identification, the therapy to be delivered to the patient. 20:The system of claim 18, wherein the patient parameter is a first patientparameter, and wherein the one or more processors are further configuredto: obtain values of a second patient parameter sensed during the periodof time; correlate the values of the second patient parameter to each ofthe one of the plurality of patient behaviors that occurred during theperiod of time; determine that the values of both the first patientparameter and the second patient parameter are associated with the samepatient behavior; and identify the same patient behavior as the one ormore of the plurality of patient behaviors. 21: The system of claim 18,wherein the patient parameter comprises one of a local field potential,an electroencephalogram, an electrogram, electromyogram, an accelerationof the patient, a relative motion between two locations of the patient,blood pressure, heart rate, patient speech pattern, patient breathingpattern, sleep indication, or chemical.
 22. (canceled)
 22. (canceled)23: The system of claim 14, wherein the therapy is one of electricalstimulation therapy, drug delivery therapy, or oral medication therapy.24: The system of claim 14, wherein the patient behavior is a movementdisorder. 25: The system of claim 14, further comprising one of anetworked server, a medical device programmer, or an implantable medicaldevice that houses the one or more processors. 26: A computer-readablestorage medium comprising instructions that cause one or more processorsto: receive, from a computing device, an indication of a patientbehavior for a period of time, wherein the patient behavior isdetermined by the computing device from video information capturedduring the period of time; determine, based on the indication of thepatient behavior, a therapy to be delivered to the patient; and outputthe determination for at least one of delivery of the therapy to thepatient and display to the user. 27: The computer-readable storagemedium of claim 26, wherein the instructions that cause the one or moreprocessors to determine the therapy comprises instructions that causethe one or more processors to select one of a plurality of predeterminedtherapies, each of the plurality of therapies corresponding to at leastone of a plurality of patient behaviors associated with a respective oneor more movement parameters generated from the video information, andwherein the patient behavior is one of the plurality of patientbehaviors. 28: The computer-readable storage medium of claim 26, furthercomprising instructions that cause the one or more processors to:calculate, from the video information captured during the period oftime, one or more movement parameters of the patient; identify, based onthe one or more movement parameters, each of one of a plurality ofpatient behaviors that occurred during the period of time; obtain valuesof a patient parameter sensed during the period of time; correlate thevalues of the patient parameter to each of the one of the plurality ofpatient behaviors that occurred during the period of time; subsequent tothe correlation, obtain a sensed patient parameter value; and identifyone or more of the plurality of patient behaviors associated with thesensed patient parameter value, and wherein the instructions that causethe one or more processors to determine the therapy comprisesinstructions that cause the one or more processors to determine, basedon the identification, the therapy to be delivered to the patient. 29:The system of claim 14, wherein the one or more processors areconfigured to: obtain one or more values of a patient parameter sensedduring the period of time; and determine, based on video informationcaptured during the period of time and the one or more values of thepatient parameter, the patient behavior for the period of time. 30: Thesystem of claim 14, further comprising an implantable medical deviceconfigured to deliver the therapy to the patient.